Fix sha256 option and improve error messages
don't try different fetcher if cabal parsing fails

If we get a directory which contains a cabal file that produces a parse
error, we don't try another fetcher. Trying another fetcher when parsing
fails is only needed if the fetcher result is a file, because then it
might be that the fetcher only got a html result (fetchurl with git repo
for example) which doesn't parse (=> need to try another fetcher).
Document support for non-hackage projects
Support local source archives
Fix generation from local archives and rel. paths

`nix-prefetch-zip` cannot handle relative paths. Therefore,
we need to resolve the relative path before passing it to
`nix-prefetch-zip`. You also probably don't want a relative path in your
derivation when generating from an archive file.

Also, `cabal2nix` now automatically adds a `./` in front of paths that
contain no slash (this is needed for nix to recognize the path).
Merge pull request #80 from bennofs/fix-local-bugs

Bugfixes and docfixes for local project patch