Kill mutations in Builder::HookContext#finalize?
Kill mutations in Builder.call

This is a private method that is always called via
Virtus.{model,module,value_object} which always sets options to be an empty
hash by default, so no need to repeat that here.
Kill mutations in Builder#add_included_hook

  * extensions are not really needed for Virtus.model
  * with a Virtus.model we don't have to call super, there's no use case for that
Clean up Builder

  * Move more logic to the hook context to DRY things up
  * Default type = nil because it will be resolved to Object anyway
  * Move building default option hash to Configuration
  * Kill more mutations
Kill mutations in ModuleBuilder