refactor NNupdatefigures

reduce code
nnpredict, nntest: add documentation
introduce loss_mse means squared error loss function
nnff: clean up code

and use loss_mse fn
nnsetup: use more reasonable defaults + documentation
fix my err in loss computation

y - output VS output - y  does matter for nn.e error, Im surprised.
Is it possible to eliminate this behavior?
gitignore file
modify NN examples to work, comments
dropout: make it percentage, instead of fraction

just a feeling change, but switch to used in literature.
0..dropout is off, 0.3..30% of cells are ignored for drop, 1..all (unreasonable)
move fields numepochs and batchsize to nn structure

move from opts.numepochs to nn.numepochs
so all data for tuning is presented to user when typing >>nn
bring plot option to nn -> nn.plot

from opts.plot, for easy accessibility
rename nnsetup to ffnnsetup

feed-forward neural net
this move is, because nn-setup/train/test will be used as generic methods
used in all code, will decide automatically which specific version to use
abstract nnsetup, doc, TODOs

abstract common settings part from ffnnsetup (former nnsetup) to now new nnsetup
call this method in your specific *setup method
never call nnsetup directly, always use *setup (dbnsetup, etc)

added comments

some TODOs need to be explained
nn.type field to describe NN specific class

(later) used in generic nn-train/test methods
and for multi-classifiers
loss_mse: flatten output

use in CNN
small fix: take NN as argument

for reuse of user defined params
CNN: use nn.alpha (instead of learning rate), doc, fix
NN: use nn.alpha instead of nn.learningRate

for consistency with other classes here
DBN: doc, fix
nnsetup: use more neutral values

=not optimal, but many other specific NN call this as internal Fn