Update for 508 compliance

Change orange headings and blue footer links
to provide enough contrast

Add titles to links

Add systemName to the window.cache.system.name
so that it can be used throughout the application,
including in alt/title tags

Partially fixes #127
Color and class for 508

Change colors to have enough contrast for 508 compliance

Change id's to be unique for file uploads -- actually
remove the ids and change them to classes instead so can
be reused across the app.

Change <a href="#"> to <button> so that there's no
dangling/empty links.
Add title to input, textarea

Title is needed for 508 and screenreaders, or a label with
a `for` attribute.

Modify the MarkdownEditor component to pass a `title`
option to the template, and render the title on the HTML
textarea element.
Adjust button colors

Make buttons 508 compliant with stronger contrast

For #127
Add person's name to alt text

Query the owner's name, include it in the API
response, and then display it in the image ALT
text.  This is needed for 508 compliance #127
Add user names to img alt tags

For screenreaders/accessibility and people who can't
view images/photos, we need to include an alt tag that
has the user's / owner's / volunteer's name.

This commit refactors the `addOwnerName` function into
a user utility, and then calls it from project and task
metadata functions.

Update the rendering of tasks to show the alt text.

Finishes what's requested for #127.
Add 508 improvements to sprint12

Merge branch 'sprint12-feature-508' into sprint12