Fix logic behind eSourcingDisplay message - this value comes through as "null" (String) from DM if they have not entered one
Only attempt file upload to S3 if validation is passed

In some cases files were being uploaded before all validation had taken place.  This ensures file uploads are only attempted after as much validation as possible has passed without error.
Add consistent and helpful <title> tags

Title tags should now be unique and meaningful, for:
- Navigating through browser history
- Screen reader users
- Differentiating between many open tabs
Add linting for .scss files

Try it out by running `npm install` then `node run_grunt.js scsslint`

This adds some (hopefully) sensible rules for writing scss, building
on top of the guidance in [the GOV.UK styleguide for CSS](https://github.com/alphagov/styleguides/blob/master/css.md).

Also fixes the errors it found. In the future we could integrate
linting into our build process.
Update README
eSourcing warning will display if the eSourcingId is null or empty
Merge pull request #155 from alphagov/only_upload_if_page_is_valid

Only attempt file upload to S3 if validation is passed
Merge pull request #159 from alphagov/add-page-titles

Add consistent and helpful <title> tags
Merge pull request #145 from alphagov/eSourcing_msg_not_showing

Fix logic behind eSourcingDisplay message
Lint for empty rules

Will catch things like:
```
.my-selector {
}
```
Set <main> to display block by default, remove deprecated tags
Small bug fix, wrong method being used to get supplier email for completion
Merge pull request #163 from alphagov/completed_by_bug

Small bug fix - completed by email now shows
Add <main> to the list of things that get resetted
Merge pull request #161 from alphagov/lint-sass

Add linting for .scss files
Home page content changes
Summary page content changes
Question page content changes