Retain option for erlmqtt_pub

(This won't work with RabbitMQ, which doesn't support it; try
mosquitto)
Add a procedure to close a connection

There is now a distinction between `disconnect` and terminating the
connection process; you can disconnect, and connect again, or
`disconnect_and_terminate` all at once.

The requirement came from erlmqtt_pub, which could exit and drop the
connection before successfully publishing, so needed a
`erlmqtt:close/1` to cleanly close the connection before exiting.
Run erl with -noinput so that it backgrounds ok