_Session.set_variable for ndarray and spmatrix

This function will correctly serialize numpy arrays as json due to
customizations to the JSON encoder. Additionally, this function will
handle scipy sparse matrices as well.

The matlab magic now calls this function.

This commit *DOES NOT* add any new dependencies to numpy and scipy, and
the code should function as normal without them.
use uuid4 instead of randint for uniqueness

This is needed when generating temporary variables for transferring a
sparse matrix.
Merge pull request #85 from aebrahim/set_variable

_Session.set_variable for ndarray and spmatrix