Added a class for GPU matrices

Added an SGMatrix-like class for GPU matrices. It supports conversion to and from SGMatrix and Eigen3 matrices, wrapping a matrix around pre-allocated memery, and serialization.

I've also wanted to add methods to SGMatrix that convert to and from Eigen3 matrices, however it fails to compile on travis for some reason.

@lisitsyn, @lambday, @karlnapf Please take a look.
Another irritating comment about fashion stuff. In shogun we use braces for conditions and loops when the operation spans multiline. So shogun code would look like
```c++
for (...)
{
    for (...)
        foo();
}```