Start on type signatures, catch argument errors

Also streamline code, update plotting doc.
Merge pull request #40 from garborg/errors

Start on type signatures, catch argument errors