Remove print statement from `MetaInfoSpec`

We need to start again, focusing on tests.
Add a `Makefile` for easier task running

Cabal could help, except it doesn't that much (or at least not as far as
intuitive interfaces go for me).
Start working on the concept of blocks

Also adds missing bits for easier Peer management. These are all very
much just drafts. I'm striving towards testability and will stop the
re-factor palooza right away.
Move things around / make error handling manual

It seems that we'll have to rely on manual propagation of exceptions for
now; I simply don't know enough Haskell (or feel confortable with it at
least) to handle exceptions properly right now - with say.. Async
Exceptions? I have no idea.
Reformat `butter-core` with emacs

`haskell-cabal-add-dependency` is pretty good. Makes `cabal-add` a
little point-less (we should study their code btw; it'd be nice to have
this level of robustness on our humble tool).
Start drafting block downloading and its tests

This is a non-working rough version; but I'm compromised with writing
tests, regardless of how painful that is.