It is now possible to know when a server is fully started.

Main changes: 

- the main helper function `run` now returns the automatically created server instance
- the `Server.main` method also return its own instance, for consistency
- now Server instances emit a signal when they are started and ready

A main test has been added to check that the server can be run, at least with basic features.

Also:

- changed the default value of the minimum port to be used when looking for a free port: it is now compliant with IANA to target [dynamic, private or ephemeral ports](https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Dynamic.2C_private_or_ephemeral_ports)
- fixed a typo in the network options' properties: `prefered` to `preferred` (the previous form has been kept as an alias, for backward compatibility)
- rearranged the `package.json` file content

fixes #11