Make singleton
Update javadoc
Use new SMR.listen(port) method
Add simple client/server samples
Add license