Bug 1005404 - Add ability to create task within tool

This is my first attempt to implement the features requested by bug 1005404. This includes:
- Changes to the model to support the new metadata for tasks
- A form that an admin can use to create a new task
- A form that an admin can use to edit an existing task
- A listing that an admin can see with all tasks, from whence they can choose one to edit and also can click a button to be taken to the "new task" form

Everything seems to be functional and working, and matches the spec in the bug, including limiting access to admins. The form *does not* look good. It needs css work, and that is far from my forte. I am hoping that someone currently on the project can help with that, or perhaps we can recruit someone to help with it.

As for the django code, I am definitely uncertain about a lot of it, so I am hoping for feedback from @Osmose. As I said, I believe that it all works, but I'm not sure if I did a lot of it correctly, including how I dealt with assets and the .less file.
Thanks for the suggestion for `related_name` - that is nicer. 

If I just use `task.keyword_set`, then I'm really just doing the same thing as the final assert, where I check the value of `task.keywords_list` (I think). Or maybe I'm missing what you mean when you suggest using `task.keyword_set` instead. Initially that's all I had (the final assertion), as I think it is sufficient, but if I want to be really comprehensive about checking that what should be removed is removed, what should be added is added, and what should be kept is kept, it seems better to query the database for those records, rather than relying on the relationship.

I realized that what I'm testing is really the internals of django, which I probably shouldn't be doing, so maybe it's best to do away with the first three assertions and just keep the final one that checks the final state.

What do you think?