Add support for basic linear algebra types.
Modify some code to use C++11 uniform initialization syntax.
Experimentally convert some functions to trailing return type notation.
This helps to emphasize their functional signature and helps with vertical alignment.