Turn docs and testing off by default

The documentation requires Doxygen, and testing can be enabled if
desired.

Change-Id: If5906da78ac9df419e6e458b783f4614fb1eddc2
Improved handling of third party libraries

Use CMAKE_CACHE_ARGS instead of CMAKE_ARGS for most external projects,
this offers easier debugging and simple ways to override defaults. When
USE_SYSTEM_* is true then attempt to populate a third party library
variable with appropriate cache variables to find the correct library.
Added a simple helper macro to add dependencies to external projects
that may depend on system or superbuild build libraries.

Change-Id: I2d049181bc92dd3afc22c2bc84a8cc116a8955d4
Merge branch 'submodule-updates'

Change-Id: Ic53cba1416230cd29a631706a20b52dc71eeb164