Enabled disabled test and fix code
 * Merging nil values was not working correctly as we were raising
   KeyError when elements[key] == nil which is the case when we
   want to explicitely set a value to nil.
Bag is now extending Hash directly
 * This is more inline with what the Bag is really.
 * ArgumentError is now raised when key cannot be cast to a symbol.
Simplify a bit more Bag implementation
 * Now that a Bag inherits Hash, some logic have been simplified by
   only checking if value is kind of Hash.
Added test for bag restricted keys access via array style
Added helper to retrieve restricted keys and added tests