cntk 0.0.4

Wrapper around Microsoft CNTK library
# Bindings for CNTK library

Simple low level bindings for [CNTK library](https://github.com/Microsoft/CNTK/blob/release/2.2/Source/CNTKv2LibraryDll/API/CNTKLibrary.h) from Microsoft.

## Status

Currently exploring ways how to interact with C++ API nicely from Rust.
Expect a lot of breaking changes.

Build scripts are not ready yet, might not work outside of 64bit linux.

## Building and installing

You need to have CNTK-2.2 installed and paths to includes and library files in
relevant enviroment variables (cntk activate scripts does this well).
You also need g++-4.8 installed (because CNTK uses it to compile things).

## Other limitations

Only works with single precision (f32 in Rust, float in C++) types.
Only works with dense representations of vectors/matrices/tensors.
Only works with ASCII strings for variable names and filenames.

## Roadmap

* Figure out how to pass data in and out. Currently `Value::batch` for input and `Value::to_vec` should be enough.
* Variable creation. - Some basics are there
* Gradients. - Possible to do backward pass
* Training simple feed forward net. - Possible.
* Save and load model. - Possible.
* Training recurrent or seq2seq net. - Recurrences are possible.
* Convnets. - Convolution and pooling are present
* Code for most operations. (probably generated). - Almost all, except couple of helpers.
* Write some meaningful examples. - Only in tests now.
* Catch all relevant C++ exceptions
* Better build scripts.