Group the core plugins into new plugins subtree

The issue being addressed is that "core" was conflating two very
different types of projects: "core architecture" and "core plugins".

The goals of this restructuring:

1) Simplify the core dependency graph
2) Group related functionality together
3) Avoid grouping unrelated functionality

This change moves the following components:
  * core/commands     -> plugins/commands
  * core/launcher     -> launcher
  * core/log-slf4j    -> extra/log-slf4j
  * core/platforms    -> plugins/platforms
  * core/tools        -> plugins/tools
  * core/updater/core -> core/updater
  * core/updater/ssh  -> plugins/uploaders/ssh
  * script/minimaven  -> minimaven
  * script            -> plugins/scripting
  * ui/awt/base       -> plugins/uis/awt
  * ui/pivot/base     -> plugins/uis/pivot
  * ui/swing/base     -> plugins/uis/swing
  * ui/swt/base       -> plugins/uis/swt

It also removes the "all" profile in favor of always building all the
user interface plugins. (The ij-app project still respects the ij.ui
system property for controlling which interfaces are used at runtime.)
Unify commands projects into a single ij-commands

The dependencies are similar enough that this reduction in modularity is
an acceptable simplification. It makes ij-commands more consistent with
other analogous projects such as ij-tools and ij-platforms.
Split animation service and commands

The animation service is now part of ij-data, while the animation
commands continue to live in ij-commands.

This change unfortunately eliminates a potentially useful example of how
commands can expose their persistent functionality and state as a
service, but we can create new examples of that as needed.
AnimationService: split iface and implementation
WIP: Split I/O service and commands

The I/O service continues to live in ij-io, while the I/O commands are
now part of ij-commands.

This change necessitated cleanup of the NewImage and AWTDropListener
classes to migrate logic into a service more properly.