Codegen: minor test change: change ordering of some inputs
Codegen: C Matrix tests
Codegen: cleanup comment
Autowrap: also uses Routine, import friendly function instead
External tests also use Routine, import friendly function instead
Codegen: proper docstrings for "friendly" codegen, routine

Also added examples to routine.
Codegen: docstring updates.

Lines to 75 chars, follow numpy style.
Codegen: clean-up docstrings, slightly simplify Arguments

Some FIXMEs in there.
Codegen: tests use the new routine() helper
Autowrap: use routine helper instead of calling Routine directly

This leads to annoying variable clashes so I renamed them to "the_routine".
Codegen: clean-up imports
Codegen: do input checking in the Routine class
Codegen: Matrixslice support

Fixes #8093.  More cleanup probably possible.