Initial (drafty) .cabal
Reduce .cabal file to minimum
Bring cabal branch up to date
Merge branch 'develop'
Merge BSS address config setting
Merge branch 'develop'
Merge branch 'develop'
Merge branch 'develop'
Merge branch 'master' into develop
Refactor Client, remove redundant DB lookups

Previously, there were a lot of neighbour lookups at various stages of
the handshake process. Those were removed to two, one preliminary one
and one to guarantee nothing fishy is going on.

Apart from the the commit is just shuffling things around.
Doc
Make pruning send out multiple signals at once (#40)

Previously, pruning would only send out one signal to a random DSN if
there were too many connections. This has now been changed to send out
multiple pruning requests, one for each excess connection (still to
random nodes).

While this still means exponential decay in the number of excess DSNs,
the exponent should be much larger now, allowing the node to relax to a
lower neighbour count more quickly.
Give drawer slight initial delay
Doc
Add missing \n
Update to pipes-bytestring 0.4
Bring cabal branch up to date
Refactor hand-written "discard" -> Pipes.Prelude.drain
Restructure library/executable source files

The goal of this commit is to separate the source files generating
executables from those that deal with the Amoeba internals. This will
allow the Amoeba library to be built with all its dependencies enabled,
while the Amoeba executables (node, multi-client, bootstrap, drawing,
...) only have to depend on Amoeba (and probably Base). This should
greatly simplify the Cabal file handling.
Complete amoeba.cabal; configure && build works