Encapsulate ActionableResourceImpl
This provides ActionableResources for use by external users, which
enforce well-formedness off ActionableResource. This allows us to
eliminate the need for ActionableResource.getKey(), which is not
used anywhere aside from ResourceBatchingManager, where we can
simply default to ActionableResource.toString().
This eliminates the need to eagerly invoke InstanceIdentifier.toString()
just to enqueue a task and makes sure this is not done unless the
resource is constructed using deprecated interfaces.
JIRA: GENIUS-281
Change-Id: I48691f9d3dbcbf2715f7eddaf775b0e9a37fd7b4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>