Create markers

OK. There are, like, 4 bugs that need to be tested in this pull request. In the future, I will make a separate pull request for each. Sorry Zack...I won't do this again. So key things to be tested:

1. Integrated new viewer w/Django template, which can be accessed here: http://<your_lg_host>/maps/edit/new/. So it has Django authentication now (or it should). Please test.
2. Users should no longer be able to delete data elements unless they're in "edit mode."
3. Users can hide project data through project tags at the top of the right-hand panel, and set a project as the "active project." The purpose of having an active project is so that when you have multiple projects turned on at the same time and you add a new marker, the app knows which project to assign the marker to. This concept actually exists in most GIS software (called the "Active Layer" in GIS-speak), but it's up for debate whether this is actually intuitive. Probably warrants a longer discussion. The active project id is now available globally to the app via the sandbox object.
4. Users can add points, line and polygon markers. Please test that they're being filed into the correct project (that corresponds w/the active project).
5. Minor code changes that, as I scroll through, are pretty useless. Some variable renaming and some pulling code out into new methods.


Nitpick: if opts was undefined here, the opts.key.split call would have thrown an error.  Maybe check beforehand?