Added some unit testing for the combat loop
Made the UserId field of Character optional

Since NPCs don't have a parnet user, and it was making it impossible
to commit NPCs to the database.
Started work on the engine