Fix Full Page Caching to Include Headers

Fix full page caching to include headers in `PageCacheRecord`

- Add method `PageCacheLibrary::getCacheHeaders(Page $c)`
- Refactor/DRY `PageCacheLibrary::outputCacheHeaders(Page $c)` to use
  `PageCacheLibrary::getCacheHeaders(Page $c)`
- Add method `PageCacheRecord::getCacheRecordHeaders()`
- Add method `PageCacheRecord::setCacheRecordHeaders($headers)`
- Set cache header record in `PageCacheLibrary::__construct()`

Design goal is to avoid changing the interface as I'm alread aware of
one page cache(for Redis) in the wild.

Slightly inefficient as it calls `PageCacheLibrary::getCacheHeaders()`
twice when caching a page.
Fix Installation Blocks w/ Overridden Controller

Fix installation of blocks with overridden controller but not an
overridden db.xml file.

This caused an upgrade error from upgrading 5.6.0.2 to 5.6.1

- Add additional parameter to `BlockType::doInstallBlockType()` to account
for `db.xml` location.
- Add check for `FILENAME_BLOCK_DB` as well as
  `FILENAME_BLOCK_CONTROLLER` as these could be different directories.
Fix Orphaned Child Models in Workflow Delete

Fix orphaned child models in workflow delete.

Likely related to issue with workflow error if workflow in progress is
deleted.
Fix Typo in WorkflowProgress Model Call

Fix typo from `WorkflowProgess` to `WorkflowProgress`
Fix Divide By Zero Error if No Votes

Fix divide by zero error if no votes in survey.

Possible future addition would be validation to prevent submitting form
if not votes.
 Fix URL Removed Word List for Empty String

Fix url removed word list of empty string.

- Accounts for empty string
- `explode()` should always return an array
- filters even single string to account for multiple spaces
- Remove `?>` from bottom
Remove `$value=0` From Previous Commit

Previous commit incorrectly set `$value=0` and caused issue with graph
rendering
Fix Block Design Preset & Footer Buttons

Fix block design preset switching and footer buttons on refresh.

- `ksort()`'s option array so default(no custom) is first
- Checks for `$_REQUEST['refresh']` before including footer buttons to
  prevent double set of buttons in footer
Merge pull request #965 from mkly/bugfix_fix_orphaned_children_in_workflow_delete

Fix Orphaned Child Models in Workflow Delete
fixing child pages bug
Merge pull request #973 from mkly/fix_block_design_preset

Fix Block Design Preset & Footer Buttons
Merge pull request #970 from mkly/fix_survey_block_divide_by_zero

Fix Divide By Zero Error if No Votes
Merge pull request #972 from mkly/fix_urlify_empty_word_list

 Fix URL Removed Word List for Empty String
Merge pull request #964 from mkly/bugfix_install_block_with_override_controller_bttable_dbxml

Fix Installation Blocks w/ Overridden Controller
Merge pull request #951 from mkly/bugfix_full_page_cache_headers

Fix Full Page Caching to Include Headers
fixing blog rss
fixing area permissions