Code spike to add DataMapper support to RailsAdmin

* The approach I am taking with this is to get RailsAdmin to work with
  DataMapper any way I can. I probably won't be adding any specs because
  I don't really know RailsAdmin internals well enough yet, and I still
  don't know what direction I'll be taking things.

  My goal is to get a delta of something working so that I can add a
  "proper" set of commits to RailsAdmin with specs, and have it peacefully
  coexist with ActiveRecord and other ORMs to-be-added.
Added DataMapper adapter

* Updated RailsAdmin::History to be a DataMapper model
* Updated AbstractModel and AbstractHistory to work with DataMapper
DataMapper properties handle serialization/deserialization automatically
DataMapper properties store required/optional state for each propery

* It is unecessary to infer this state from validations only in DM
Minor simplification for History.get_history_for_dates
Union collections together to create expected WHERE clause
Fixed DM-AbstractModel association child_keys

They should be Symbols instead of DataMapper::PropertySet
The parent_key should be an Array of Symbol Property names
Commented out code using eager loading
Set the properties to an empty Hash by default

* I needed this because I has an attr_* that was being used to capture
  a file upload, and then I was doing some extra processing with a
  web service. I could not just use an RA virtual field since it wouldn't
  work with the file upload field.
* Need to track down what the clients of this method are and see
  if an empty Hash can become the default passed in if a property
  is "virtual"
Make sure that the file_upload partial is named properly

* I'm not sure why no-one hit this problem before, maybe everyone
  uses Paperclip and doesn't actually use a file_upload field
  directly, but without this change there will be an explosion
  when the file_upload field is used.
Merge branch 'master' into datamapper
Updated search conditions to use DM collections
Do not pass in proxied objects into DM association

* DM uses case equality to handle specific objects, so passing in
  a proxy will break how Module#=== (which DM::Resource inherits) from
  matchin the object properly.
Use #update instead of #update_attributes
Make sure default options are defined for each association
Make sure the file_upload type loads the correct partial
Not all descendants of string types have a length specified
Merge branch 'master' into datamapper
Resource#destroy does not return self, but rather a boolean