New API for pressing shortcut keys
Caching the Keyboard and Mouse instance in UIItemContainer

This is required because KeyBoard keeps internal state about keys
pressed. If we always return new instance, this state will be of no use.
And releaseAllKeys() won't work.
Changes to support command line options in orchestrion
Finding a free port before starting the server
Orchestrion executables will be copied automatically when building JAR
waitTill() API
Passing the process id to orchestrion so that it can cleanup itself
Removed waitWhileBusy() call on enter() overrides

This was hanging on a modal window. So enter() is always asynchronous
and use waitWhileBusy() explicitly.
isModal() for window
setWorkingDirectory() method to Orchestrion

This is required so that it can be easily wired up from a
application-context. Start() method is parameterless now.
Deleting temporary working directory upon stop
Adding more search criteria