feedback modal (incomplete) (#123)

Incomplete pull request for the feedback modal (#123).

Remaining issues/questions:
- ~~Should I make a new file inside ``/lib/`` that would contain just the functions ``publicFeedbackObj`` and ``newFeedback``? It'd be more consistent with ``submit.js`` and such, but it seems like the functions will only ever be called by ``feedback.js``. Will be moving some functions to lib files.~~
- ~~For logged-in users, the user field should be inserted into the feedback data.~~
- ~~Currently only works for logged-in users.~~
- ~~How would you verify that the ``page_url`` that the feedback refers to is valid? Would you even have to?~~ no point in checking
- Use a potato captcha to filter out spam, i.e. have two extraneous fields be submitted in the request: one which must be left blank and one which must be filled with a particular value. (see https://github.com/cvan/django-potato-captcha/blob/master/django_potato_captcha/forms.py)
- ~~Remove ``user`` from ``publicFeedbackObj`` so people can't falsify their usernames~~