Further simplify the data layers and extend the MemoryDataLayer

Completely remove the duplicate codes of the data layers.

@geenux, @shelhamer, @jeffdonahue
The data layers should define their `DataLayerSetup()` method first to fit the convention of the other layers.