Add spec for Virtus.config
Extend specs for Virtus#attribute with new examples
Remove redundant code
Add specs for Virtus#[] and Virtus#[]=
Add specs for Virtus#freeze
Deprecate Virtus::ValueObject in favor of new syntax

  * Use extracted Equalizer gem
  * Introduce values { .. } block for defining value object attributes
  * Deprecate including Virtus::ValueObject

There are two major reasons for doing that. First of all we wanted to
use extracted Equalizer which disallow mutating it once initialized and
ValueObject relies on that unfortunately. Secondly with new syntax you
can use customized Virtus modules via Virtus.module { } which would be
harder to achieve using previous Virtus::ValueObject inclusion.

Besides this feels more coherent as now you *always* just include Virtus
module