Update some documentation and add a setter for errorMessage

I made it protected with the intention of allowing it to be easily changed in the isValid implementation, but it's not very obvious at the moment :X
Merge pull request #34 from hzsweers/master

Update some documentation and add a setter for errorMessage