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.
No, I changed my mind again. I the conditional to evaluate to `True` if `parsed_dir == ''`. In that case, `is not None` is correct.