Added test command.
Forgot this file.
Added checkpointing.
Added layer that takes as input a manifest containing a list of protobufs.  Each protobuf specifies (1) a URL to a jpeg image, (2) a crop region for that image, (3) an extension with additional fields containing labels, regression target values, etc.  The layer then prefetches a minibatch of jpeg images using cURLpp, decompresses them using libturbojpeg, crop them, resizes them using OpenCV, builds the data blob, and then uses protobuf reflection to fill in the labels.  This is a multilabel layer meaning it can produce as many target values as specified in the network protobuf.
Addressed linter.
Factored out download manager into util.  Added test for protobuf data layer.
Added partitioning parameters for each layer.
Initial contribution of a distributed training method.  This is similar to my previous approach except this one allows sharding of the parameters across sever parameter servers.  Therefore, rather than having a single parameter server that sends work to a bunch of worker clients, I now have three roles: (1) worker clients which are more or less the same, (2) parameter servers which each manage some portion of the parameter space, and (3) a single scheduler server.  The scheduler server is a single point of failure.  It dispatches commands to the workers.  For example, it might tell a worker to first fetch parameters from each shard, compute the gradient, and push that gradient to the shards.
Added Dockerfile.
Factored dockerfile.
Updated dockerfiles.
Updated mesos stuff.
Cleanup
Updated scheduler.  Added debug dockerfile.
Containerized a bunch of stuff.
More dockerfiles
Updated dockerfiles so that everything actually works correctly with quorum and whatnot.
Docker updates.
And fix the dockerfile.
Need maven