Split app name and version in Capabilities.

To enhance capability matching and to select the latest version of the app to test if the
app version is not provided by the users. This enhancement still retains the backward 
compatibility when users specified an AUT as "appName:appVersion".

Signed-off-by: Binh Vu <bvu@paypal.com>
Can you `return listOpApps.size() > 0 ? listOfApps.last() : null;` or maybe use `listOfApps.pollLast()` if you use `TreeSet` directly on line 354.

I think this better communicates the intend of the code, and it removes the not so relevant variable declaration at line 353.