engine: Introduced InternalJob and InternalStep command

Introduced AddInternalJob and AddInternalStep commands
which will be used to add a job and step to monitor
operations started outside of engine, but that
can be managed by engine.

Refactored AddExternalJob and AddExternalStep commands
by inheriting from an AddJob and AddStep command.

Change-Id: I17074d4317c037fa9fcc680f4b0a7a9b3a6b087a
Signed-off-by: Sahina Bose <sabose@redhat.com>