added configurable types and better nil field handling
Merge branch 'feature/type-config'

Conflicts:
	lib/mongoid/config.rb
	lib/mongoid/criteria.rb
	lib/mongoid/document.rb
	lib/mongoid/factory.rb
	lib/mongoid/persistable/deletable.rb
	lib/mongoid/relations/metadata.rb
	lib/mongoid/traversable.rb