Convert recurrent layer generator to use **kwargs.
Add **kwargs support in create_weights.
Change add_feedforward_layer to return nothing.

It already puts the answers in .preacts and .hiddens.
Do not apply hidden-activation to output units!

This change hopefully fixes a recent break in RNN trainability.

It also entails changing the signature of the add_recurrent_layer method
so that it no longer returns the computed activations of the layer.
Instead, both the preactivations and the hidden activations are stored
in .hiddens, and the caller can fiddle with those as needed after the
call.
Tweak interface for adding layers a bit.

Add kwargs to add_feedforward_layer.

Make add_*_layer always return number of learnable parameters.
Reorder lstm code a tiny bit.
Change default scale of initial bias values.
Change recurrent-sinusoid to produce sine values from frequency input.
Make sequences a list.
Add code for basic multiplicative recurrent layers.
Rearrange lstm recurrent code a bit.
Update memory example code, but still not working.

So far this network learns only to output zeros. :(
Fix memory example! Just needed to up the momentum.
Correct lstm docstring and return.
If configured, load existing model rather than create a new one.

Closes #51. Also fixes load issue with multiple calls to train()!
Add demographics to analytics.
Make MNIST inherit from object for py2k.
Add a property for compatibility with hf.py.
Add a bit more bravado to the README.
Fix nested lists.