Add slugs to project and dataset models (1)

This is part 1 of the work for #24. I'm creating pull requests into the project-urls branch instead of into master so it can be reviewed in stages.

I have added SlugFields to the Project and Dataset models. There are four new migrations that effect these changes in the database. See detailed explanation below.

There is also validation to ensure that the slugs do not conflict with other urls we may have in the application. For example, you couldn't create a project with slug "admin" because it would use the url "http://localhost/admin", which is reserved.

The rest of the changes (to urls, views, forms) for #24 will be in a separate pull.