Add basic HTTP authentication
Add basic HTTP authentication

Sharing the prototype with other members of a team requires deploying
it somewhere, typically Heroku. It may not be desirable to, at the
same time, share it publicly.

This commit sets up basic HTTP authentication so that a user of the
toolkit can specify one username and password which will be required
to access the prototype.

Enabling authentication requires setting the environment variables
NODE_ENV, USERNAME and PASSWORD. Authentication will only be active
where NODE_ENV is set to 'production'.

dudelmeister/full-prototype-kit,MylesStevens/express_prototype_coa_ext,paulpod/bulk,paulpod/fin,adampotter/resource,paulpod/dmsp,paulpod/dvladesign,ballzy/pip-alpha,nmiddleweek/beta-gov-prototype,paulpod/dmsp,dudelmeister/ved,gup-dwp/pip-prototype,rivalee/gds-pub-prototype,paulpod/drivingservices,MylesStevens/CHANGE_OF_ADDRESS,rivalee/gds-highway-code,dudelmeister/full-prototype-kit,paulpod/prototypes,paulpod/firstreg,paulpod/bulk,paulpod/vm.old,paulpod/vm,adampotter/resource,paulpod/protopod,timpaul/govuk_patterns,tjharrop/visa-fees,paulpod/firstreg,rhianonymous/firstreg,rivalee/gds-highway-code,tjharrop/electronic-visa-waiver,MylesStevens/express_prototype_coa_ext,paulpod/fin,paulpod/evl,dwpdigitaltech/ejs-prototype,timpaul/vehicle_management_prototype,paulpod/dvladesign,dwpdigitaltech/ejs-prototype,paulpod/driving,dudelmeister/ved,adampotter/resource,timpaul/govuk_patterns,timpaul/vehicle_management_prototype,paulpod/vm,paulpod/fin,paulpod/wedding,tjharrop/visa-fees,paulpod/driving,paulpod/fin,rhianonymous/firstreg,MylesStevens/CHANGE_OF_ADDRESS,ballzy/pip-alpha,MylesStevens/express_prototype_coa_ext,paulpod/wedding,gup-dwp/pip-prototype,paulpod/protopod,tjharrop/electronic-visa-waiver,amosie/amys-prototypes,paulpod/drivingservices,annapowellsmith/popup-prototypes,MylesStevens/CHANGE_OF_ADDRESS,tjharrop/electronic-visa-waiver,dwpdigitaltech/ejs-prototype,paulpod/prototypes,paulpod/vm.old,paulpod/evl