Tidied up the vref implementations somewhat.
Decoding of the new tree structure works.
Started shifting to a header-only arrangment (using the hpp convention).
Forgot to move the vref update over.
Full switchover by removing the old entity implementation from this branch
and removing the "2" suffix from the new classes.

Updated most of the unit tests to work with the new implementation, although
vref/entity tests need combining/starting from scratch.

libentity no longer compiles to a library, header only now.

The mapping and reference classes have been removed. The map function in
entity has been renamed to "describe" to avoid conflicts with the std::map
type. The describe function returns a mapping which is now simply a typedef
to map<string, shared_ptr<vbase>>. The removal of mapping and reference
instantiations has improved performance slightly.