[Collideoscope] Initial work on cobrand

Including
 * Custom form extras
    - jquery-ui for severity slider
    - Extra form fields
    We have substantial differences in fill_in_details_form so am
    subclassing this.
    - extract header_extras
    - plumb in extra processing
    - NB updates bug caused by bad typing assumptions
    Originally we followed EHA practice of a hashref for extras, instead of
    an arrayref.
    That's convenient, but it turns out that EHA doesn't expose updates,
    so there were no hooks for this.  As we don't actually have extras
    for updates, am just returning in this case.
    see https://github.com/mysociety/FixMyStreet-Commercial/issues/632
    - rough display of extra information

 * Colours
 * basic translations
 * uses_global_categories (as EmptyHomes)
 * reporting page tweaks and custom text
   - suppress 0 row reports
    (to make the reports more usable while we have low values
    for reports)
 * FAQ page
 * Media thumbnails YouTube & Vimeo
 * email templates
 * pin age 7 days for /around/ page
   (This is to ensure that on the create new report page, we only
    see recently logged issues, as we expect them to cluster on
    busy junctions, and *want* duplicate reports -- unlike the classic
    FMS behaviour.
    As I understand it, this should *not* affect the behaviour on
    /reports/ which seems to be related to the reports_per_page
    config, as opposed to on_map_default_max_pin_age)
 * genericise display of severity
   (Get all data from cobrand, making it easier to supply descriptions
    etc.)
 * sprocket pins
 * severity text on /report/$id page
[Collideoscope] UK Stats19 data import

 - schema files (using DBIC and DBD::Sqlite)
 - import command
 - this command also includes all the mappings from the UK gov't
   Stats 19 codes to descriptions.
 - The data itself is not provided (but, problematically, the
   download command doesn't entirely work in an automated way, due
   to errors with the provided .zip files. TODO)
[Collideoscope] re-branding

 - new reporting form questions and markup
 - define collideoscope brand colours
 - document where colours are used, Sass colour rework
 - remove custom colour declarations from smidsy base.scss and layout.scss
 - remove squirrel logo
 - remove mention of squirrel logo
 - remove mysoc tab from smidsy, reword nav links
 - sort out display of smidsy nav bar and logo
 - smidsy body background images
 - smidsy footer
 - cabin typeface for smidsy
 - quick layout fixes for smidsy reporting page
 - sidebar for smidsy .twothirdspages
 - smidsy homepage, without any images yet
 - Add extra options for customising #postcodeForm geolocation link

This commit forks fixmystreet’s header.html and the base fixmystreet.js,
to add hooks for customising the look of the geolocation link.

It also removes the space that’s inserted before the loading spinner,
and replaces it with margin-left in _base.scss, which avoids the visual bug
of a link underline extending past the end of the geolocation message.

Both these changes should probably be merged into master at some point.

A further improvement might be possible through the combination of the
`fixmystreet` varaible introduced here, and the one defined on map pages
in templates/web/base/maps/openlayers.html.

 - marker icon for geolocation link on homepage
 - smidsy homepage polish, including how-it-works images
 - smidsy replacement for "click map" banner
 - smidsy list of incidents, easter egg for empty list
 - smidsy incident list
 - improve contrast of homepage search box focus state
 - add sponsors page, link to it from other pages
 - smidsy sponsor page, non-functioning form
 - amend smidsy statistics page content
post deploy script to install local sass

(smidsy css uses post 3.2 sass features)
[Collideoscope] Reports page MapIt lookup for filtering

Allows you to do:

   /reports?parent=11811  # e.g. all bodies within South-East
   /reports?type=LBO      # e.g. all bodies that are London Boroughs

Progresses following ticket (doesn't provide any design for it)
https://github.com/mysociety/FixMyStreet-Commercial/issues/556
[Collideoscope] stats and reporting tweaks

 - form design for filtering reports (@zarino)
 - frontpage stats (@osfameron)
    Note, we will need to flag near misses as "Near Miss" by category
    (not currently done)
    Progresses
    https://github.com/mysociety/FixMyStreet-Commercial/issues/551
 - reporting override (inc. general changes to update-all-reports)
   (@osfameron)
 - report filters enabled (@zarino and @osfameron)
   Fixes https://github.com/mysociety/FixMyStreet-Commercial/issues/562
 - extend reporting date to 5 years (@osfameron)
 - 12 months => "This Year on CollideOscope" (@osfameron)
 - show older map pins (to include Stats19) (@osfameron)

see https://github.com/mysociety/FixMyStreet-Commercial/issues/638
[Collideoscope] styling fixes

 - remove sponsorship level dropdown from smidsy sponsor form
 - Add .aroundpage class for CSS display
    to help format full-width stripes on Smidsy, may be useful
    generally (as the page is *not* really a frontpage).
 - fix css bug on /my reports page
 - remove login links and user menu; show sign out links only
 - fix ugly forgotten css box on report page
 - stop sidebar notes sticking out of map page sidebar
[Collideoscope] copy tweaks

 - FAQ page, removing some FMS specific references
 - Adding about-like copy to organisation questions
 - hide sign out button
   (until we re-introduce logged in features.)
 - add note about police reports
 - remove !
[Collideoscope] pin icons (bike, pedestrian, car etc.)
[Collideoscope] Stats19 pedestrians

slightly over-large refactor.  points to @zarino's lovely images,
improves titling and categorization

 - import knows about pedestrians (more complicated than it seemed)
 - and sets images correctly
 - Update reporting to use the new categories
 - set lastupdate to confirmed on stats19 import
   see https://github.com/mysociety/FixMyStreet-Commercial/issues/587
[Collideoscope] fixes to severity display/validation

Includes a generic "munge_report" hook in controller Report/New

 - fix severity, submission of near miss, title, etc. js and validation
 - give severity a default (assumes people will generally want to supply
   the additional information if they've been injured.)
 - remove "Who was involved"
    as this is now encoded in the title
 - fix incident titles
   see https://github.com/mysociety/FixMyStreet-Commercial/issues/576
 - fix jquery selectors on smidsy report form (@zarino)
[Collideoscope] contact forms and emails

 - sponsor contact page
 - s/smidsy/collidescope to contact form
 - Add submit template for collideoscope
 - Smidsy. email variables
   fixes https://github.com/mysociety/FixMyStreet-Commercial/issues/538
 - update contact email
 - email translations
[Collideoscope] copy and logo fixups

(mostly @BenJam)

 - remove mysoc and ITP logos
   https://github.com/mysociety/FixMyStreet-Commercial/issues/565
 - update sponsor details.
 - fixing typos on the FAQ page.
 - add privacy statement about sharing with supporters.
 - adding 'so far' and 'roadmap' to sponsors page.
 - removing a hanging v.
 - replace barts logo with "bespoke" logo
 - Small copy changes post-review
    - changed some FAQ items
    - modified some copy on the homepage to bring into line with reality for launch
    - changed decscription of sponsor, logo still need to be placed
 - use Barts logo
   (seems to have been reverted below somewhere)
 - Smidsy. remove phone number.
    Fixes https://github.com/mysociety/FixMyStreet-Commercial/issues/570
 - add Bespoke logo to footer
 - Add hrefs to front page call-to-actions (@davea)
Allow override of FMS contact message
[Collideoscope]. Toner lite map tiles

Note required fix map with maxResolution as per MapQuest work and
suggested implementation by matthew
[Collideoscope] google analytics tracking code
[Collideoscope] form improvments

 - Make forms sticky
   (This should presumably be done by some higher level library?)
 - manage possibly hidden fields on page load
 - fix injury box show/hide logic
    In safari, you can't get .value for a radio group, so we use the
    jQuery :checked selector instead.

    Also, it looks like .slideUp isn't honoured if the element is
    already hidden (as per FMS logic on /around? page).  If we just
    .slideUp and .hide then the box would simply get hidden, but we
    can add the hiding as a callback, and this seems to do the right
    thing in all cases.
[Collideoscope] icons for incidents in `/around` sidebar

 - NB: Slight and Serious are both yellowy-orange.
   see https://github.com/mysociety/FixMyStreet-Commercial/issues/581
 - link /around items (@osfameron)
    fixes https://github.com/mysociety/FixMyStreet-Commercial/issues/584
 - Fix "nearby map pins" to show all pins (@osfameron)
    On map first, then nearby.
    See https://github.com/mysociety/FixMyStreet-Commercial/issues/578
[Collideoscope] update text tweak

Copied entire update-form.html to do this, could be refactored?
Fixes https://github.com/mysociety/FixMyStreet-Commercial/issues/580
see https://github.com/mysociety/FixMyStreet-Commercial/issues/600
[Collideoscope] copy tweaks

 - refer to "incident" instead of "accident"
   as per https://github.com/mysociety/FixMyStreet-Commercial/issues/590
 - "road collisions"
 - FAQ tweaks, and STATS19 notice
 - add medical disclaimer
   (requirement of Barts' ethics approval)
 - s/CollideOscope/Collideoscope/
 - fix translation strings for Permalink
    see https://github.com/mysociety/FixMyStreet-Commercial/issues/626
 - fix https://github.com/mysociety/FixMyStreet-Commercial/issues/648
    and https://github.com/mysociety/FixMyStreet-Commercial/issues/660