UP-4305 : Portlets launch in specified target windows

Portlets optionally launch in a new window (or target window) depending upon a new optional `target` portlet definition parameter.


Backlogged [UP-4319](https://issues.jasig.org/browse/UP-4319) to refactor away needlessly-inner classes.