Improve key conversions

Fixes collision with [`ActiveSupport::CoreExtensions::Hash::Keys#stringify_keys`](https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/hash/keys.rb) which isn't recursive (it has `deep_*` recursive equivalents though), meaning when this core ext was present, `#stringify_keys` wasn't working for depth 2+ keys (added spec for that).
- Removed calling `stringify_keys`/`symbolize_keys` based on `responds_to?` checks - we'll rely on our own methods only
- Added recursive hash conversion for `#symbolize_keys`
- Extracted common "module included in the class" context for RSpec
- Private methods prefixed with `_` to avoid more collisions (I think this should be the standard for Hashie).