add filterBySelectAttribute method to page_list

re-implementation of #190 (taking into account @remo's concerns about performance raised in #184)
updated explanatory comment to be more accurate as per @remo
change helper function from private to protected

so it can be overridden more easily (thanks @mkly)
handle an array of mulitple values
small refactor to make code cleaner
refactor: call attribute controller function to determine if multiselect (instead of inline helper function with yucky SQL query)
change to more user friendly error messages. reopen #1137
check for number of months
ignore form results of deleted pages
include page score if requested
Merge pull request #1233 from Remo/ignore-deleted-forms

ignore form results of deleted pages
Merge pull request #1234 from Remo/show-page-index

include page score if requested
Let's use the context JobSetName for job set names
adding support for new view page in sitemap permission
Merge branch 'master' of github.com:concrete5/concrete5
 Fix Permissions Across Copied Pages

Fix permissions carrying accross copied pages.

`Page::getPermissionObjectIdentifier()` tries to call
`Page::getPermissionCollectionID()` but this is set to the original
page upon `Page::duplicate()`

- if set to `OVERRIDE` update Pages table with proper inheritance cID
Merge pull request #1238 from mkly/fix_page_copy_permissions

 Fix Permissions Across Copied Pages
Merge pull request #1174 from jordanlev/patch-1

add filterBySelectAttribute method to page_list
Merge pull request #1236 from mlocati/jobsetname-context

Let's use the context JobSetName for job set names
Merge pull request #1232 from Remo/date-archive

check for number of months