redirect 'createPlayer' RPC to right GS instance

* split up the rpc.sendRequest function to allow forwarding all types of
  RPC calls to other game server instances (+adjusting tests etc.)
* redirect 'createPlayer' call to the authoritative GS instance for
  the starting location (otherwise player creation fails)
customize Property serialization

As the persistence back-end does not necessarily JSON-stringify object
data (e.g. the rethinkdb version doesn't), it is better to explicitly
define how Property instances are serialized, to avoid unnecessary
junk in persistent data.
abort message sending (no error) when no session available

At some point in the player creation process, the GSJS code is
trying to send messages to the player that is just being created.
It is ok to just ignore that attempt in this scenario (and would
require modifying GSJS code to prevent).
In other circumstances though, the same symptom may be indicative of a
problem (e.g. an offline player still in a locations player list), so
log it at INFO level here for now, including a stack trace so we know
where the call is coming from.
add npm package "lodash"
implement global API function apiCopyHash
enable functional test for Player.create
Merge pull request #20 from yelworc/player-creation

Player creation