Fixed -Wextra warnings on the kernel generator
fix up remaining statement_node_type changes bits
Fixed silly mistakes in the kernel generator

- Typo introduced when cleaning -Wextra
- Wrong sizes for GEMV TA in BLAS2 test
Scheduler: Condensed {SCALAR|VECTOR|MATRIX_ROW|MATRIX_COL}_XZY_TYPE to XZY_TYPE.

This separates the arithmetic precision from the mathematical object (scalar, vector, matrix)
and allows for shorter enums. Patch provided by Toby St Clere Smithe.
Fixed a remaining complaint in viennacl/forwards.h with -Wextra
Allowed direct access to inc() and dec() in shared pointer implementation.

This is arguably a bit of a hack, but needed for user-provided buffers in vector<>, matrix<>, etc.
The alternative is to extend mem_handle such that it can also hold raw pointers.
Merge remote-tracking branch 'upstream/master' into pyviennacl
Begin code clean-up / commenting
more cleanup