Corrected doc for APPEND_TO_LOGFILE
OPDRV-188: Selftest API refactor

OperaDriver#selftest() no longer accepts a list of modules which
selftests to run.  It now accepts exactly one module instead.  The
proposed downstream fix for this is to iterate over the list of
modules you wish to test and call this method individually.

The reasoning behind this change is that the old API for running
selftests allowed you to specify a list of modules to run and a
general, overall timeout.  This was not very useful since a large list
of modules would require some heuristic to find an appropriate overall
timeout, and did not allow you to specify the timeout of an individual
module.
Nullpointer check in OperaSettings

The driver code assumed that the machine has Opera installed in a
default path or that an environment variable was used. But SR is using
settings.setBinary(). Made null an acceptable default value.
Added nullpointer check in setRuntime()

This should perhaps(?) be solved differently. Discussed in
SPARTAN-1158.
Reverted use of getSystemMultiClickTimeout()

The problem was that the call Toolkit.getDefaultToolkit() was very
slow. The time taken varied wildly but on the Spartan slaves I saw
from the fastest 3s and up to as much as 55s! This is an unacceptable
overhead so setting this back to the previous default of 640ms.

The reason is probably this, quote from the java doc:
"Also loads additional classes into the VM..."
Certain modules can take up to 140s to finish, 200s will make sure we get there
Merge branch 'spartan_runner_patches_1'
Opera 12.00 has now been released, updating README
Only close window if we are connected to Opera
Unneccessary throw
Fixing some comments
Introducing a service-wide sleep
Removing unused code
Added documentation for WindowManager#closeWindow(i) and #closeAllWindows()
Indentation
OPDRV-189: Improving performance of the WM's window close code

SpartanRunner regression testing showed an added 114 ms overhead in
WindowManager#closeAllWindows() that stemmed from
OperaIntervals#WINDOW_CLOSE_SLEEP.

WindowManager#closeAllWindows() deviates slightly from the Scope
implementation by allowing windows to be closed using Opera's action
system.  The downside of the action system is that there is no
callback, and consequently no way for us to know if a window was
successfully closed.  This is done for product compatibility reasons
as certain products have issues closing dialogues.

WindowManager#closeWindow(i) now has an assertion check for whether
the attached browser service supports closing windows.  If such
support does not exist, it will throw an
UnsupportedOperationException.

Furthermore it will do an implicit wait-style check using a callable
for verifying whether the window requested to be closed is removed
from the internal caches.  This is done though the Scope callback
OnWindowClosed, registered in ScopeEventHandler.

Finally, the patch introduces a variation of Selenium's Wait
(FluentWait) that instead of using Guava's Predicate and Function uses
Callable.  This allows us to perform a wait without any arguments.

Each CallbackWait instance defines the maximum amount of time to wait
for a condition, as well as the frequency with which to check the
condition.  Furthermore, the user may configure the wait to ignore
specific types of exceptions whilst waiting, such as
NoSuchElementException when searching for an element on the page.
OPDRV-195: Convert OperaIntervals to use Duration from Selenium

Using the Duration utility class enables us to bypass many problems
related to int/long casting, and makes OperaDriver more type-safe.
Cleanup whitespace and import ordering
Moving CaseInsensitiveStringSet to common.collect
OPDRV-191: Removed unused class ScopeActions