Added optimization to the transactional bytestream.

Rather than always copy data from the temporary bytestream to the
backing bytestream, the data is only copied when the two bytestreams
have different content.
lnsd is now capable of handling hosts with the same name.

In order to handle this the JSON protocol, between the control handler
on the server and the client, was changed to allow IP messages to
contain lists of addresses rather than just one address. The message
which retrieves the entire mapping now sends back hosts mapped to lists
of IP addresses, rather than hosts mapped to a single address.
Removed documentation and tests for conflict changes.

I've decided to remove the conflict message from the protocol, since the
tools should be able to handle different hosts claiming the same name
without any issues.
Implemented the network protocol handler.
Changed the configuration options that lnsd and lns-query take.

I decided to remove the timeout and heartbeat options, since 10s and 30s
are sensible defaults, and because cases where machines disagree can
possibly cause hosts to drop while they still exist on the network.

For example, a host can have a timeout of 10s while another has a
heartbeat timer of 12s, and the host with the 10s timeout will see the
host with the 12s heartbeat connect and disconnect from the network
repeatedly. Standardizing the heartbeat and timeout parameters prevent
this situation from occurring.

Also, both the external network port can be set, as well as the internal
port used for communication between the client and the server.
Previously, only the external port could be set.
Added the extra port options to the documentation.

I intend to allow the configuration file to specify the network and
control ports, so those options needed to be documented.
Added a handler for the Quit message.
Added hostname handling to the net_proto implemetnation.

I forgot to add this earlier, and in the process of writing the daemon,
I added it in.
Wrote the command line daemon launcher.
Fixed some issues caught by pylint.

This consisted mostly of stylistic fixes, but there were a couple of
references to undefined names lurking about that pylint found as well.