Refactor git/add-blob and update coding style

Allow adding a specified blob-hash rather than just blob-data. This may help
later on, but this commit is mostly for readability. The documentation has been
properly indented, and the core logic no longer is split between arity
overloads.