This will enable CPU-only Caffe compilation (#3), and go a long way to 10.9 CUDA compilation problems (#122) Checklist [shelhamer]: - [x] split layers into cpp and cu #172 - [x] split enough for boost-eigen to build on osx (hide boost rng from nvcc) #165 - [x] split and tag tests as CPU / GPU - [x] split math_functions into cpp and cu - [x] split common into normal and cpu-only singletons? Follow-up: abstract CPU / GPU device computation #610