Tools and more nets

Highlights:
* `python/examine_leveldb.py`: add option to plot label distribution to ensure labels in leveldb are shuffled
* `tools/extra/plot_training_log.py`: customized from `plot_training_log.py.example`, with the right arguments, plots the training and test loss and the test accuracy using matplotlib. What are the right arguments you ask? See...
* `tools/extra/plot_latest_and_send_to_s3.sh`: shell script which calls `plot_training_log.py` and uploads the plot to Amazon S3 so you can watch the training in near-real-time and pull your hair out trying to figure out if it's working. Here's a current example plot:

![caffe_latest](https://cloud.githubusercontent.com/assets/1332812/4296766/fe55b6ac-3dfc-11e4-9867-971da39b72ff.png)

* `make_everything.sh` quick shell script to make all the necessary caffe stuff because I always forget the various targets. `make test` and `make runtest` are currently commented out because they're not needed to run caffe
* `examples/oto_imagenet/misc.prototxt`: various different networks that I'm trying to train. More to come.
`path_to_log` is the path to the original log file, `parsed_dir` is the directory containing parsed data products, which are derived from the original log file, which may be in a different directory. Yes, this is a convoluted setup, but I just adapted some pre-existing crappy code. If I was writing it from scratch I would have made it more clear from the beginning (one hopes).