clarifying tests names
Merge https://github.com/metatoaster/IdleISS

Conflicts:
	tests/test_core.py
Adding a test to start to look into threading
    Honestly I'm not even sure how to go about dealing with this
Making the "thread apocalypse" test more strict
- This test does not imply or state that calling
   into update_world is thread safe or
   that _engine_events is thread safe it only
   is a test of update_world assuming a ton
   of threaded messages were incoming and if it can handle that
Changes to update_world
- update_world will be the "interface" for the channel bot to be able to
  make changes in the engine, mark users on/offline, and execute commands.
  Further functions will be made available to the channel bot, but they
  will be only functioning as read-only commands
in core.update_world
- added test for other side of user.online conditional
Introducing the ShipLibrary
- loads all the ship data from config json files
Implemented the ShipLibrary
- Unforunately since basically every class needs to talk to this class it
  lead to a strange cascading effect where basically every single source
  file had to be updated and now when a GameEngine object is to be created
  it requires a library_filename to work. It may be the case that in the
  future we will require a save/load location as well
Streamline key checking code.