Add support for reloading the page with a response attribute.

Now, a response with the `reload` attribute will trigger a reload.  The
attribute value should be a boolean, as follows:
```json
{
  "reload": true
}
```

Closes #103.
Add cache.remove and cache.clear as external APIs.
Merge pull request #109 from nicksay/reload

Add support for reloading the page with a response attribute.
Ensure the spf.process API function works.

Add a dedicated function to process a SPF response on the current page outside
of a navigation flow.  Export it as the `spf.process` function.

Closes #108.
Merge pull request #110 from nicksay/process-api-vs-library

Ensure the spf.process API function works.
Scroll elements into view after navigation.

When navigating to a URL with a hash (aka fragment) that references a page
element, scroll the element into view before completing the navigation.  This
means that for a URL such as `/page#element-id`, the `scrollIntoView` function
is called on the referenced element just before the `spfdone` event is fired.

Closes #73.
Merge pull request #111 from nicksay/scroll-into-view

Scroll elements into view after navigation.
Merge pull request #114 from DavidCPhillips/cache-invalidation

Add cache.remove and cache.clear as external APIs.
Move the error messaging in spfreload to only exist on the dispatched reason, but not on the url reason.
Merge pull request #118 from DavidCPhillips/short-url

Move the error messaging in spfreload to only exist on the dispatched reason, but not on the url reason.
Fix JS style issues in calcdeps.js
Merge pull request #119 from nicksay/lint

Fix JS style issues in calcdeps.js
Add an option group to the status key to allow separation of prefetch status from normal page status. Closes #116.
Merge pull request #117 from DavidCPhillips/fix-prefetching-status

Add an optional group to the status key to allow separation of prefetch status from normal page status.
Add in missing syntax from resource_test
Merge pull request #120 from DavidCPhillips/fix-tests-oops

Add in missing syntax elements from resource_test.
Added page error counter and jasmine runner test to ensure error free runner to fix issue #121.
Merge pull request #122 from marcelduran/report_page_errors_in_jasmine

Added page error counter and jasmine test to ensure error free runner.
Allow advanced users to enable request identification via header.

Add support for sending an HTTP header to identify requests.  This provides an
alternate system for negotiation between SPF and default browser requests, but
it adds a restriction on developers: a `Vary` header MUST be returned by the
server to avoid caching problems.  Guard this behavior behind an "advanced"
config flag and provide no default to prevent accidental usage.

A normal SPF request looks like
```
GET /path?spf=navigate
```

By setting `url-identifier` to `null` and `advanced-header-identifier` to
`__type__`, a SPF request would then look like
```
GET /path
Accept: application/json
X-SPF-Request: navigate
```

And the server must then return
```
Vary: Accept
```

Closes #31.