[Ownership] Consider roles in composition policy

Allow users of appropriate roles to make changes to
object composition (add/remove children.) This
serves to address the underlying use case of
nasa/mct#255.
[Ownership] Test use of role service

Test use of role service in composition policy.
Merge pull request #256 from VWoeltjen/mct255

[Ownership] Allow object composition based on role
[Platform] Avoid NPE on getMySandbox

Remove risk of hitting NPE on getMySandbox in
PlatformImpl. Stored reference to sandbox is
obtained during call to getBootstrapComponents,
but if that has not been called when getMySandbox
is needed, an NPE occurs.

This is significant for nasa/MCT-Plugins#134,
which requires some deployment-specific additions
to My Sandbox; since the most obvious place to
do this is at bootstrapping time, e.g. before
or during the first call to PlatformImpl's
getBootstrapComponents.
Merge pull request #258 from VWoeltjen/mctPlugins134

[Platform] Avoid NPE on getMySandbox
[Platform] Add separate handler for drag-drop

Add separate class to handle drag-and-drop.
This will serve as a container for the
copy, link, and move options from
nasa/mct#179.
[Platform] Hook in new drag-drop handler

Defer handling of drag-and-drop behavior in
directory area to dialog-launching handler.
[Platform] Focus on components when dropped

Restores functionality which focuses on dropped
components on drop completion (check for
component equality by component id, not
reference equality.)
[Platform] Consult policy when drag-dropping
[Platform] Add Move option

Add Move option to dialog which appears when
dragging and dropping components in the
directory area.
[Platform] Add Copy option to drag-drop dialog
[Platform] Remove unused method, field
[Platform] Fix component order for move/copy/link
[Platform] Disallow copy-in-place by drag

Disallow Copy when a component is dragged to
its current parent. This prevents dialog
from being popped up when user is reordering.

Additionally, add some clarifying comments.
[Platform] Amend unit test for drap-drop revision

Amend unit test such that preconditions and
expected output are consistent with revised
drag-drop results, as described in
nasa/mct#179
[Platform] Don't show drag-drop dialog unless needed

Don't show drag-drop dialog (move/copy/link)
unless there is actually a choice for the
user (that is, only show it one more than
one of those actions is allowable.)
[Platform] Test drag-drop handler

Test drag-drop handler. Initial test simply
ensures that three options are presented.
[Platform] Add drag-drop handler tests

Add test cases for the drag-drop handler
to satisfy code coverage standards.
[Platform] Add message to drag-drop dialog
[Platform] Consider composition policy before Move

Remove manifestation policy does not ensure
that the user has privileges to modify the
object from which a manifestation is to be
removed, so consult composition policy as
well before enabling the Move variant of
drag and drop.