cleanup / consistency fixes for the fmpq module
cleanup / fix consistency for the fmpz_mat module
cleanup / fix consistency for fmpq_mat
cleanup / fix consistency in arith module
fixed headers for replacements of long -> len_t
updated replace_longs script for removing typo that forgot documentation
Merge remote-tracking branch 'fredrik/trunk' into trunk
Merge remote-tracking branch 'andres/mingw' into trunk

Conflicts:
	arith/doc/arith.txt
	fmpq_mat/doc/fmpq_mat.txt
	fmpz_mat/doc/fmpz_mat.txt
Replace unsigned long with ulong throughout.
Attempt to switch all longs to slong.
Fix minor bug in profiler.h to do with slong.
Fixed problem with profiler.o.
Switched all len_t to slong.
Update code_conventions.txt
Added missing test file.
Start design document.
more design work
Improve build system for cxx module.

In particular:

(Makefile.in) Autogenerate targets check-XYZ for each build dir XYZ.
(Makefile.subdirs) Allow C++ tests, add new pattern rule to compule them.

Also, add empty/dummy files cxx.h, cxx/dummy.c and cxx/test/t-cxx-compiler.cpp.
Another build system tweak.
Start another cxx prototype.

(flint.h) Add additional cast to please cxx compiler in pedantic mode.