Server multi client

This PR attempts to fix and simplify the case of multiple clients using one server. Amazingly, given SC3's architecture, this has never worked out of the box.

- The Bus and Buffer allocators from Republic's SharedServer are added to Server. These take account of clientID to avoid conflicts. (The standard node allocator already does this.)
- scsynth can optionally assign client IDs
  - this makes sense as the central point of reference
  - this currently uses the reply from the /notify command to assign an ID. A separate command could be used, but this seems simple and logical.
  - hard assigned client IDs are still possible for backwards compatibility
- A *remote method is added to Server, which starts the alive thread automatically