More printing things
More print statements for testing
THE BUG IS FOUND!!!

This is the problem:
* When we run backpropagate (AE or NN), we  call trainWeights on
  the input units for the NeuralNetworkController.
* trainWeights updates the output weights to match their upstream
  partners' input weights, and then updates the Unit's input weights.
* If this is not the FIRST neural network to be trained, the input units
  are connected into some larger network, and have their own input
  weights, which were being MISTAKENLY updated too.  (This was a
  one-sided update, which was only affecting those input weights, and
  not the other side of the connections' output weights.)
* This essentially meant that we were training a layer further back than
  we wanted.

This fixes the problem.