Cleaned up ApphookPool class:

- reordered class methods to better reflect class functionality
- method register(self, app) now doesn't check class supplied by user, just to see it's already registered
- cleaned self.block_register True/False assignments in discover_apps()
- removed discovered check from discover_apps since it has nothig to do with app discovery as such
- changed some exception messages
Fixed typo in get_apphooks() method
Clean up utils.page_resolver logic

get_page_queryset_from_path now always returns a queryset, previously it
was capable of returning a PageQuerySet, Page model or None, which both
the callers had to hack around. Also simplified the logic internally,
while taking care to preserve behavior:

* Querying for "home" is unnecessary if path is provided
* Handling IndexError/DoesNotExist is unnecessary, now we return a
  queryset with 0...1 results
* get_page_from_path docstring lies about "Raises exceptions is page
  does not exist"
Avoid query for uncommon case where CMS roots are not visible

This saves a database query from every CMS page load. Originally
introduced in commit 61f56dd14751bab4c0232a62afb87555216a67f4 with no
rationale. These are the edge cases where it makes a difference, as far
as I can tell:

* It forbids seeing published subpages when all roots are unpublished.
  But why the special treatment of roots and not caring about other
  intermediary levels? And it checks for any roots regardless of
  placement, even if it's in a different hierarchy.
* It prevents seeing a draft version of a page if there are no draft
  versions of any root pages in the site. If that's at all possible, it
  seems like a bug?
More changes in ApphookPool class
Fixed: SyntaxError: invalid syntax
Fixed adding redundant apphooks when APPHOOKS is set
Fixed adding redundant apphooks when APPHOOKS is set
Rename argument in register method to be more self-explanatory
Removed direct reference to apphook_pool fields. Now they're accessed through get_apphooks and get_apphook methoeds.
Fixed typo - remove one apphook_pool from calling chain
Improve reusability of PageSmartLinkField and PageSmartLinkWidget
Merge branch 'develop' into intgr-page_resolver

Conflicts:
	cms/tests/admin.py
changelog
Merge pull request #3184 from digi604/page_resolver

Page resolver optimizations
Merge pull request #3162 from johnraz/ImproveSmartLinkPage

Improve the reusability of smart link page
Merge pull request #3101 from mmarzantowicz/apphook-cleanup

Apphook cleanup
updated locales and bumped version
updated locales
updated authors