Re-arranged Class names

- Changed DirectionType to ExitType.
- Changed AreaLink to AreaExit (since exits depend on Area)
- Created a new class for to handle DirectionType.opposite directions
(ExitOpposites) and DirectionType.shorthand (ExitSynonyms).  This will
allow us to define multiple opposites and synonyms for a given ExitType.

This code requires a new Database to function.  None of these changes
are tested so this code likely won't run even with the new database in
place.  This update is purely intended to be a foundational re-write to
produce a functioning version at a later date.