add 'changes' message segment creation and queueing
add support for short item changes

For NPC movement, special compact change data sets are used.
add Player.send function, preparing outgoing messages
add two missing item handling functions

* add Location.addItem and Item.consume functions
* set item slot property according to new container in Item.setContainer
  (seems more appropriate there than in its callers); some adjustments
  to this change in existing tests
handle announcements and add them to outgoing messages
include player property updates in "changes" segment

Updates for select properties are included in outgoing messages (in
changes.stat_values) whenever their values change.
The implementation of detecting those changes is not particularly
elegant (a boolean flag that is set to true in setter methods, and
reset to false when changes are sent out), but simple enough and it
works within the architectural constraints (the Property instances do
not "know" their "owner").
add function for sending location-wide messages
send pc_logout message on client logout/disconnect
Merge pull request #14 from yelworc/outgoing-messaging

outgoing message processing