Reorganise packages to reflect updated design

Ok, this looks like a huge change, but there are no functional changes all all - just package moves and a couple of renames.

Key items:
* RPCTarget renamed to EnsimeAPI / ProjectRPCTarget -> ProjectEnsimeApiImpl as its becoming a programming API rather than just an RPC endpoint.
* Most of the core classes moved from ```server``` to ```core``` except for the ```Server``` class - ``` , ```server``` should contain things relevant to the ensime server endpoint (protocol etc) and the business logic part is moved to ```core```
* Swank protocol stuff has moved under ```server.protocol.swank``` and the SExp handling (as it is relevant only to swank) moves under that.

I'm sure there will be a few stragglers to move around (and methods are going to need renaming), but this is the core of the package moves I think we need.