Working ModuleBuilder

* global configuration
* support existing API
* add Virtus configuration methods
* add Virtus.module
* very rough ModuleBuilder (not working)
* specs for configuration and virtue methods
* specs pass
* use define_singleton_method to reduce noise in
  add_included_hook
* pass unencapsulated coercer to Attribute.build
  as :configured_coercer
* handle coercer configuration if configured
  and passed in as an option
Add doc to lib/virtus
Move global configuration specs
Remove Configuration#initialize spec

Initialization is covered in call_spec
Document merge_options
Deprecate Attribute.coerce

Remove `coerce` from Attribute options and add a
coerce method with a deprecation message.
Attribute.coerce just proxies the value to
Virtus.coerce.

Update Attribute.writer_class to use a default
coerce setting and update specs to reflect the
coerce removal from options.
Remove usage of ||= in Configuration
Remove unused block capture in Configuration
Document Configuration
Remove ||= usage in ModuleBuilder
Document ModuleBuilder
Update Virtus documentation
ModuleBuilder specs

Test ModuleBuilder through Virtus.module
Add Configuration.build
Update spec style for Virtus.coerce and .coercer
Update configuration spec style
Remove ModuleBuilder specs

ModuleBuilder is tested via Virtus.module
Update building module spec style
Add Attribute.coerce spec
Add spec coverage for ModuleBuilder methods

These methods do a fair amount of metaprogramming
so a few hoops needed jumping through. This just
confirms that the .add_included_hook and 
.attribute_method methods do what we expect.