Implement HDF5 save dataset IO utility function
Implement and test HDF5OutputLayer
Add HDF5OutputLayer to the layer factory
Rebase and change the HDF5OutputLayer::Forward/Backward signatures
Separate HDF5OutputLayer::Forward_gpu/Backward_gpu into cu file
Merge pull request #252 from kloudkl/hdf5_output_layer

Hdf5 output layer
Use Thrust to manage the underlying memory of SyncedMem
Implement and test SyncedMem::resize and reserve
Add Blob::capacity and make Blob::Reshape capacity aware
Fix cpplint errors related to SyncedMem