Front end for NNTrainer, NNetwork, etc.

Added a host of refactoring changes to make training neural networks more generalized. Also added several methods/fields in util and NNetwork to be used by the front end users.

Fixes issue #35.