Adding fields to a membership application

It seems the default membership application is very basic. For my purposes, I need to add several more fields, including an image (avatar). How do i add fields to the membership application?

Secondly, is there a way to display a membership list (to members only) on the website and also allow members to download a list of the members? (csv format)

Many thanks,
Houston