naive hnf implementation
renamed, added tests, docstring
corrected tests
corrected error in test code
changed algorithm to reduce l by one if we have hit a zero row, this is not in the reference I used (Cohen) but makes sense to me and causes several cases that do not otherwise work as intended to do so
updated example to new function name
fix fmpq_mat documentation
Merge remote-tracking branch 'upstream/trunk' into trunk

Conflicts:
	fmpq_mat/doc/fmpq_mat.txt
Changed classical HNF and tests to use row HNF and fixed several bugs
removed debug info and increased range of tests for hnf
Initial implementation of extended GCD based algorithm
Increased test matrix size for classical hnf
Changed reduction strategy to reduce intermediate memory usage as per Bradley
Increased size of matrices in xgcd test, made them print what they test
Began implementing HNF modulo a multiple of the determinant.
Expanded range of test matrices for modulo D tests, added in consistency tests
Made some small optimisations
Fixed and added some optimisations to modulo determinant HNF
Moved all variable declaration and initiation to start of function
Moved all variable declaration and initiation to start of function