Add an "everything" target to make for comprehensive build testing

The everything target builds all components, checks warnings, runs lint, and runs tests.

This makes it easy to check that nothing is wrong with a build, just `make -jn everything`. This goes beyond Travis by including matcaffe and GPU tests.

If you think this is useful, merge. If you think this should be done another way, tell me what you prefer.