[ RUBY-761 ] Normalize symbol keys into strings.

Like Active Support's `HashWithIndifferentAccess`.

This is backwards-breaking and will require a 3.0.0 release.

Note that I added the methods `to_bson_normalized_key` and `to_bson_normalized_value` on `Object` with specific implementations on `Symbol`, `Hash`, and `Array`. The reason for this was performance related in that 1) We don't have to walk the object hierarchy when doing `object.is_a?(Symbol)` and 2) Converting nested values like `Array