Add setters (and some getters) for datapackage properties

In beginning work on #10, this pull request adds a whole bunch of setter functions for the various properties (e.g. name, license, etc.). I also went ahead and added some getters as well for properties that were missing. This is necessary infrastructure for being able to create, update, and save datapackages later on down the line.

Besides just adding a bunch of things, I also changed the code to raise an error when mandatory properties (like name) are missing. I feel like since the standard says they are mandatory, we should also make them mandatory, but am definitely open to discussing this.

I also included test cases for what I'm working on, which you can run by just typing "nosetests" when you're in the root of the project directory. I've only run these on OS X, though. I can test on Ubuntu as well but unfortunately I don't have access to a Windows machine for testing :-/

Also: if you'd rather me make pull requests towards a dev branch, or something, I'm happy to do that -- that might be better so that I can submit pull requests incrementally and not have to worry about accidentally breaking the current stable version. So, let me know if you'd like me to resubmit this to a different branch!