Breaking changes!

Entity no longer contains the map since it was adding overhead to anything
that derived from it.

The create_map function has now been replaced with a map function that
returns a mapping object. Added << operator overloads to allow for a tidier
mapping syntax along with macros that help with automatic naming.

Moved the "to_tree" and "from_tree" to "to" and "from" overloads.

Const'd a lot of stuff to make it easier to pass temporaries about.

Renamed the map.h to vmap.h to match the class names inside.