commit just to get things in repo.  will refactor changes
Added DBN functionality and a tutorial.
Modified several files to get DBN working.  Will refactor soon.
DBN is basically a model that can take DBM costs, and does the appropriate learning, as if it
were an RBM.
Soon it will do the same with an MLP cost, but with an additional layer for the output error.
Added tutorial for DBN.
Added tests for DBN.
Modified DBM to set up it's own chains. Same with DBN.
Added centering to dbn layer matching

Binary vectors support centering.  When a visible layer is put on top
of a DBM with the top layer having centering, the center is set
appropriately.
Set visible layer of top layer bias to that of hidden layer of RBM
below it.
small change to dbn demo train
Merging rbm to nitools
Merging dbn to nitools