BPMSPL-38: Asset Oracle: Cross-referencing (so asset editors know about other assets)

Modifications to uberfire-metadata to support use of additional "Indexers" (provided by consuming/client applications such as BRMS/BPMS). This is a cherry-pick from master (where I pushed direct - but I am honouring the control over 0.5.x).

Class "uberfire-metadata/uberfire-metadata-api/src/main/java/org/uberfire/metadata/engine/Indexer.java" is the main addition (and subsequent changes to bring them into "uberfire-metadata/uberfire-metadata-commons-io/src/main/java/org/uberfire/metadata/io/BatchIndex.java" and "uberfire-metadata/uberfire-metadata-commons-io/src/main/java/org/uberfire/metadata/io/IOServiceIndexedImpl.java").

See https://issues.jboss.org/browse/BPMSPL-38 for information (or lack of it!).