Instancing

Structure adjustments allow us to create multiple instances of devreload using `new devreload(server, options)`

`devreload.listen(server, options)` simply returns a new devreload, so it still works with the cli executable and readme examples.