Bug 536282 - Check whether processing step is available

Extend ProcessingStep with isEnabled() method that checks if step's
dependencies are available. ProcessingStepHandler's canProcess will
ensure that all required processing steps are enabled and skip this
check for optional processing steps.

MirrorRequest's perform(IArtifactRepository, IProgressMonitor) method
will skip optimized artifact if it can't be processed and chose
canonical one.

Pack200ProcessorStep's isEnabled() checks if 'unpack200' CLI utility
is available by calling UnpackStep's canUnpack().

Change-Id: I048db3b833f6e0881cca06ad48be37ad6d17a0c9
Signed-off-by: Mykola Nikishov <mn@mn.com.ua>
10 files changed