Add back the user satisfaction survey

This gets back the original satisfaction survey code that we used
previously. We're going to be adding the satisfaction survey globally to
GOV.UK this time.

This reverts commit 543b7a761bc3ce26bc3252428ce5935341b4dd42.
Add the new survey link
Don't hide the survey for header/footer only pages

We want it to run across all of GOV.UK.
Remove the 'hide_survey' conditional for header_footer_only views

We want the satisfaction survey to be visible to all users across the
site. As a result, this conditional to remove it from the
header_footer_only template is no longer required.
Keep all of the loading logic within the user satisfaction survey file

We want to expose this functionality to all pages on GOV.UK. To do
that, we need to add the user-satisfaction-survey JavaScript file to
the header_footer_only JS.

Rather than duplicate the code that shows the survey, it's better to
keep it contained within the same file.
Require the user-satisfaction-survey in header_footer_only

This shows the survey for apps that use the header_footer_only
template instead of the base template provided by slimmer.
Use the correct document.ready form

Brain is not firing correctly this morning.
Use a simpler style for the user satisfaction survey

Update the style to conform to other things that users might have
seen. Place the "no thanks" link in the top right and have the main "5
min survey" link flowing under the text.
Do not show the satisfaction survey on transaction done pages

If users complete the survey from a done page there is the worry that
they will fill out their response with the context of a given
departmental transaction rather than the GOV.UK design.

Additionally, multi-variate testing it currently underway on one of
the transaction pages so we don't want to mess with the results
gathering while this is happening.
Place the explanation of the new link open next to the link

Rather than having the explanation that a link will open in a new
window *above* the link, it's better if it's next to the link for
better context.
Provide the full description for a given link; don't be vague
Provide :active and :visited colour styles

As the survey bar is purple, having these fallback to the default will
make them unreadable for some users if they happen to trigger it
manually.

Be kind and make it readable(!)
Add the trailing comma back in place to appease @alext
header_footer_only javascript includes core, so keep the runner there
Use 'root' instead of 'window' within libs
Simplify raw JS into jQuery enumerator

Makes it easier to read.
Exit earlier when showing the satisfaction survey bar

We're only ever showing the bar when other notifications aren't
present or the cookie isn't set. We're better off running this
conditional check earlier so we can exit early.
Match on the pathname so that it's environment independent

When testing in dev (or other) environments our URLs aren't consistent
with production. Make sure this JS works without requiring us being on
GOV.UK.
Use str/substr instead of haystack/needle
It's spelt 'satisfaction', not 'statisfaction'