Further optimize the implementation of Hermite Normal Form in Sage

PEOPLE: Clement Pernet, William Stein

SUMMARY: Do the following:

  1. Rewrite add row to (a) use a block method, and (b) use fast non-recursive code (it is silly right now).
  2. Implement (or wrap?) Clement's "twice as fast" double det.

ISSUES: Building Linbox's rational solver is currently broken on some platforms.