Data parallelism (CPU)

This is an attempt to do data-parallelism (in CPU backend for now) by making use of Julia's parallel computing and `SharedArray`.

* [x] Data shuffling in `HDF5DataLayer`
* [x] Remove the `System` type
* [x] Sharable parameters