port Caffe to boost + eigen to replace MKL

Remove the intel MKL dependency by porting to boost and eigen.

Initial commit by rodrigob compiles, but we need to make tests pass and benchmark.

Route to integration: if benchmark performance is comparable, it's possible the switch will be made from MKL. Otherwise, we need a plan to adjust the build system and code without overcomplicating matters.