Button.class

Added the feature requested in #136

Also defaulted button types to `button` to make sure that non submit buttons aren't created as submit buttons.

I sent this in as a PR because I wasn't sure where you'd want it to go.  Also there aren't any unit tests for this feature so I figured a code review would be better before it was merged into a production branch.

I built the alpaca site, ran the unit tests (all passed), and played around with alpaca to make sure it worked correctly.  It looks good to me.