Fix a typo in PCD class docstring
Initial draft of the CD class.

This is just a copy of the VariationalPCD class for now.
Add an option to return non-shared variables in make_layer_to_state.

This is not implemented yet, only the flag argument has been added.
Add symbolic state methods.

I modified CD's get_gradients method so it uses theano symbolic variables
instead of shared variables for the state. To do so, I had to adapt the
make_state and make_layer_to_state methods, which I did by adding new
make_symbolic_state and make_layer_to_symbolic_state methods.

Also, I made sure CD used the provided input to initialize the visible layer's
chains.
Fix a typo (I think) in Softmax class
Fix a bug with make_theano_batch call
Fix issue with CD using variational trick.

I realized I was implementing a variational CD instead of a CD, so I fixed
that. CD now uses the same approach as PCD for its positive phase instead
of replicating VariationalPCD's positive phase.
Fix a bug in TransformerIterator
Add a num_examples parameter to make_symbolic_state.

The make_symbolic_state methods now accept a num_examples parameter,
which is a symbolic Theano variable.
Add DBM helper objects.

There's an object used as a TransformerDataset's Block to sample from
a DBM's last hidden layer, and an object used to stich RBMs together to
form a DBM, using Russ's policy regarding weights selection.
Generalize DBMSticher to  N RBMs, rename it RBMSticher
Revert CD's positive phase to be like VariationalPCD's positive phase
Fix a bug in TransformerDataset

The bug prevented TransformerDataset chaining since a TransformerDataset has no
'y' attribute, so if a TransformerDataset has another TransformerDataset as its
raw_dataset, its has_target() method returns by calling its raw_dataset's
has_target() method.
Fix a bug in Softmax's make_symbolic_state method
Restric DBMSampler to DBMs with one hidden layer (for now)
Lots of refactoring
Remove unnecessary if
Change make_symbolic_state methods for a more clean implementation
Change RBMStitcher for a method that returns a DBM
Change make_symbolic_state methods to make their implementation cleaner