Button component refactor + docs

Hey! I have written some docs for the button component and in the process refactored the component to have all bootstrap states and cleaned up the API to be a little simpler.

These are the changes:
* Removed `loading` and `loadingChildren` propS, this can be achieved more React idiomatically via changing the `Button`'s props via a state change, see docs example.
* Removed "is" prefix from `isActive` and `isDisabled` props, this more closely resembles the DOM API.
* Added `block` component to set buttons to block level/ full width.
* Don't manually set properties that will be passed via
`this.transferPropsTo`.
* Clean up tests, remove duplicate tests already tested else where.
* Documented possible states of this the button, uses the http://getbootstrap.com/css/#buttons content as a basis for this.

Let me know what you think of the changes, hopefully they will make sense with the docs.

This change breaks the current button API and is not backwards compatible, we should probably hold publishing this change and do a minor release with a few other breaking changes. I am going to document/ refactor the rest of the button based components since im here :)