Internal clean up on contact page

* Lots of var renames & use res.locals storage for (err) message
passing, input_errs and post_data vars... some clean up of
validation, use JS object names for input name fields, etc.
  Ultimately, all this serves to making changes much easier.

* Introduce lib/form_helpers.js; abstracted handling of messages.

* Minimize distractions when form errs -- do not show page header,
buttons or page content; this hopefully makes focus bit easier on
the end-user. Show the number of validation errs and a stubbed
'fix it' message.

* Split phone input field to four parts; area code, prefix, suffix and
an optional extension.

* Use select input field for contact preferences.
* Use maxlength attribute on input fields.
* Disable broken HTML5 client-side JS code.

* Introduce experimental red_border CSS selector; not in use (defaults
to gray_border, AKA what we have been using).
Move Jade cfg var declarations further down