Added biases to wake-sleep

There's an annoying bug that I still haven't fixed. I think I've fixed
it in the default constructor but I'm still not sure why it's not
working with the from_rbms constructor. Basically, the upnet and
downnet are using the same layer objects, and biases are an attribute
of layers, so when in wake-phase for example, it updates the downnet
biases, but because the upnet points to the same layer, it also changes
the upnet biases, so the upnet and downet biases are always equal.