Change interpretation of "sparse" kwarg in create_weights.

Sparse now controls the fraction of entries in the matrix that are zero.

To prevent degenerate weight matrices, also mask with a permutation of
the identity matrix. This helps ensure that each input unit is connected
to at least one output unit (as long as there are more inputs than
outputs).
Parameterize sparsity of recurrent weight matrices.
Add ability to specify spectral radius on weight matrix.