MKL/non-MKL Reconciliation

After no short journey, the port of Caffe away from MKL has come full circle and is ready for integration.

Chronicle:

- boost/eigen3 port of Caffe started by @rodrigob, carried forward by @kloudkl, then fixed up by Alejandro Dubrovsky and @jeffdonahue.
- A boost + openblas alternative was tried and our options weighed.
- Rowland Depp emerges from the shadows with a brilliant commit 56b8ca0 to settle the issue.
- cpp/cu layer implementations were split by @erictzeng 
- @shelhamer fixed the OSX break according to @satol's suggestion of a façade to hide boost rng from cuda code

There could be dragons here.

I made this PR from `BVLC:boost-eigen` so that we can join together for this glorious merge.