New generic method nntrain and abstract batch_learn

nntrain accepts any network for training, will select NN type,
call abstract method batch_learn for batch learning which uses
problem specific code sniplets.
CNN: use abstract nntrain