Allow our custom propTypes to have a chain-able isRequired

This gives the prototype checks a lot more flexibility, as they can
largely be used in the same way the ReactPropTypes are used.
Change propType check for Button componentClass prop to internal check

Change to `CustomPropTypes.componentClass` which is non required.
Clean up spelling.
Merge pull request #185 from pieterv/customproptypes-isrequired

Allow our custom propTypes to have a chain-able isRequired