Added a required_keys validation for Hashes

I've added an extra validation to validate keys on a Hash, if this is wanted of course.

4 tests didn't pass anymore when using RSpec 3, I updated them to use be true / be false instead of be_true and be_false. They renamed them to be_truthy and be_falsey, but checking for true and false seemed more appropriate for the coercion tests.