WIP: Sparse adjacency, weight, and laplacian matrices and some layout functions.

I started creating some graph layout functions, e.g. random, spectral, and Fruchterman-Reingold layouts, as well as a few others.  These are just placeholders for now as I realized while thinking about these functions that they (spectral is the biggest culprit) won't work for large graphs as only dense matrix representations can be created.  So, I added functions in gmatrix.jl to export sparse matrix representations of the adjacency, weight and laplacian matrix.

I still need to write tests for these functions (hence the warnings I've put in the code), but I wanted to submit a pull request for feedback.