Use a plain tempfile for IPC

This is more robust and easier to handle than using pipes or sockets.
Marshal may choke on lots of data otherwise.
Simplify Repository#analyze_commits
Save all versions of a formula

Homebrew supports multiple specs (`stable`, `devel` and `head`) for
each formula.

See #22
Improve error messages for import failures
Move latest formula change down
Make use of Formula#update_metadata in Repository#recover_deleted_formulae
Ignore exceptions in eval'd old Homebrew code
Fix Repository spec to support multiple versions
Test all of Formula’s methods
Add the missing spec for Formula#generate_history!
Simplify how commit information is processed
Simplify how formulae information is processed
Reuse Repository#reset_head
Simplify recovery of deleted formulae
Fix broken Repository#refresh
Fixed broken letter check

This was reintroduced in 36fb2d244e5bfbcf0af994535cd7667609766430.
Hide removed formulae revdeps
Mark removed formulae in lists

This is currently only used in formula dependencies. If you see this,
there's probably a problem in the repository, i.e. the formula can't be
installed without its dependencies.
Redirect Homebrew's Formulary.factory to the correct paths
Implement Repository#regenerate!