LPS-36977 Create method hasAccessPermission() to centralize the permission to access the current site or page

This a mere refactoring. The next commits will add additional logic to this method.
LPS-36977 Prevent permission checks against LayoutPermission for Control Panel
LPS-36977 Refactor: move permission logic for Control Panel from LayoutPermissionImpl into ServicePreAction.hasAccessPermission()
LPS-36977 Refactor: add parameter siteGroupId to hasAccessPermission() so that it knows which site is being administered from the Control Panel (the logic that will use it comes in the next commit)
LPS-36977 Refactor: add parameter doAsGroupId to hasAccessPermission() so that it knows which site is being administered from the Control Panel.

 The logic that will use it comes in the next commit
 I've decided to put the doAsGroupId parameter next to the controlPanelCategory and after the layout (and layouts) even though the groupId usually goes before because in this case I think it makes more sense. One reason is that it's used to tell where the user is within the control panel which is identified by the layout so it makes sense that it goes after it. It's also good that it is next to controlPanelCategory since they are related.
LPS-36977 Introduce PortletCategoryKeys.PORTLET for consistency with other controlPanelCategory values

We don't really need to prepend the portletId and adding it may actually confuse developers by making them think it has some use.

Conflicts:
	portal-impl/src/com/liferay/portal/events/ServicePreAction.java
LPS-36977 Deprecate all methods of LayoutPermission that use the controlPanelCategory parameter, adding replacement methods when necessary.
LPS-36977 Return false for all permission checks when LayoutPermission is invoked from the Control Panel to catch development bugs early on.
LPS-36977 Ran ant format-javadoc -Dlimit=LayoutPermissionImpl, etc, on those 3 files. No logic changes, trusting you guys. Thx.
LPS-36977 These methods weren't automatically sorted?
LPS-9603 NPE
LPS-9603 SF
LPS-37236 Display Templates are not listed in portlet configuration
LPS-36977 Make methods public and sort
LPS-36673 removing UserNotificationInterpreter from service builder.
LPS-36673 Change UserNotificationInterpreter to UserNotificationHandler
LPS-36673 Create UserNotificationManger to manage UserNotificationHandler
LPS-36673 Register UserNotificationDefinition with user-notification-definitions.xml to UserNotificationManagerUtil
LPS-36673 add portletId, deliveryType, and deliver to UserNotificationDelivery allowing user defined deliveryType
LPS-36673 Add deliver method in UserNotificationHandler to determine if certain type of notification should be sent to a user.