Added pre_player_ship and tests.

This will hold the concept of a player's ship, as well as important information about their location, etc.
switched to using the correct types for position and orientation.
Look up a character's ship, or create a new one on login.
Added save to ship, plus tests.
Added ship to entity engine, added callback module.
Implemented stub ship callback
Improved the comment.
fixed minor issue with tests.
Fixed channels to use the correct `handle_event` arity.
Connected events up so they go through the event engine.

- Also added simulate to pre_ship_controller, and fixed a minor bug.
Correctly cleanup the client and entity when a disconnect happens.
made results from get_by_name consistent.
Added a version of notify without a from.
Switched to using `{stop, Reason}` returns, and instead monitor the `SslProto`, and clean up based on that.
Added more monitoring, cleaner stop reasons.

In an effort to conform to what seems to be the intention of the OTP behaviors, and community consensus (as well as keep our logs cleaner), I've opted to do `{stop, normal, State}` in many places. This keeps the crash log from getting crashes that are, in all honesty, expected, and fine. Some stop reasons were not changed; while these don't indicate errors on the server side, they are unexpected input or state from the client, and might be useful to raise awareness of. (Some might be indicative of MITM attacks, or other nefarious behavior by clients.)
removed unmonitor calls.
Return the same stop reason as the proto.
cleaned up logging message a bit.
refactored to remove exit calls.
Merge pull request #36 from SkewedAspect/feature-ccase-ships

Implemented ships.