Refactor: eliminate unused parameter `request`
Add BROWSE permission.

Add UP_PORTLET_SUBSCRIBE.BROWSE permission activity on portlet and portlet category targets modeling permission to view the Marketplace entry associated with the target portlet.
Grant BROWSE permissions.

Grant some example BROWSE permissions such that everyone, authenticated users, and portal developers have permission to browse increasing sets, respectively, of the available portlets.
Add AuthorizationPrincipalHelper.

Adds static helper convenience method for computing an IAuthorizationPrincipal from an IPerson.
Filter marketplace entries by BROWSE permission.

Introduce `MarketplaceService` and refactor `PortletMarketplaceController` to rely upon it.
Filter entries by BROWSE permission rather than by portlet-preference configuration.
Require BROWSE permission to access individual Marketplace entry.
Extract IMarketplaceService interface.
Remove TODOs in favor of JIRAs.

portlet-definition.xml BROWSE permission syntactic sugar TODO --> UP-4071.
MarketplaceService caching TODO --> UP-4072.
Improve name of BROWSE activity static field.

More akin to e.g. PORTLET_MANAGER_ACTIVITY.
Remove JavaDoc of auto wired property members.
Add PermissionHelper to compute portlet permission target IDs.

Move MarketplaceService permissionTargetIdForPortletDefinition() to PermissionHelper.
Use PermissionHelper where applicable instead of inline portlet permission target String concatenation.
Trivial: fix typo.

Fix typo in MarketplaceService setPortletDefinitionRegistry() notNull validation message.
Merge pull request #305 from Jasig/marketplace_browse_permission

Marketplace BROWSE permission