Raising ArgumentError if make's argument is not Hash or Context

Cleaned up the specs for Context as well. Now when you run `bundle exec rspec spec -fd` you should have a clear documentation of how Context behaves.