Moved Source.readLoop invocation to Mount.AddSource

This move allows the Mount to remove the source after it disconnects.
Source.readLoop now exits quietly on EOF also improved logging
Added metadata and source->clients multiwriter

Added MetadataContainer that can hold multiple metadata of different
sources. This should allow for seamless moving between sources and their
metadata.

Added MultiWriter that allows for writing to multiple io.Writers at the
same time in a concurrent-safe manner. The current implementation needs
testing and profiling before we can use this properly.

Added ReadRequest utility, previous commit explains its purpose.

Filled in ClientHandler for adding new clients to their target mount.
Clients currently still receive no data, but can be accepted.