fixed relative path and prefix for adagrad-optimised autoencoder snapshots
Merge pull request #1025 from mohomran/minor_fix_to_mnist_solver_prototxt

Snapshot naming issue in mnist_autoencoder_solver_adagrad.prototxt
Create base data layer and base prefetching data layer
Extract common data layer functionalities out of the DataLayer
Remove duplicate codes from the ImageDataLayer
Simplify the WindowDataLayer using the base class
The BasePrefetchingDataLayer shouldn't join the thread
Implement Forward_gpu in the base prefetching data layer
Add transformer to the memory data layer
Remove pthread which has been replaced with boost thread
Move transform param one level up in the proto to reduce redundancy
Test adding images w/o resizing to the memory data layer
Move the rest duplicate codes of the data layers into their base class
Fix conflict between nvcc and boost for cmake
Add lint rule for caffe data layer setup
Remove OpenCV stuffs from the memory data layer and io utils
Add leveldb header back to util/io.cpp
Place InternalThreadEntry lower in the {,Image,Window}DataLayer.cpp
Add and transform Datum vector in the MemeoryDataLayer
Correct the datum size checking conditions of the data layers