CPU-only build

**Note: the CUDA libraries are still required.**

This adds a CPU-only switch to the `Makefile.config` that builds Caffe without compiling any GPU code. When this flag is uncommented

- `make` builds libcaffe.so and libcaffe.a without any GPU compilation at all (not a single call to nvcc).
- `make test` builds the tests as usual.
- `make runtest` only runs the CPU tests.

Mostly I was curious what this would take since it partially addresses #150. With this build we should be able to configure a Travis-CI hook for CPU testing of PRs and such.

Not that we should necessarily merge this as-is or at all however, especially with the grossness of 81791ec, and the macro pollution I added in 871b0ce.

I imagine the #415, BVLC:device-abstraction work would make carrying out the CPU / CUDA separation at compilation simpler. Perhaps this is useful all the same?

What does everybody think?
was this intentional? seems like it should be in either all the .cu files or none of them.  (and probably it should be in none of them as we can just not attempt to build .cu files in cpu only mode)