Add parameter to configure number of threads used in device operations

Some platforms may not be able to support a large number of concurrent
device operations. Set 'android.deviceThreads' to limit the number
threads available in the thread pool. By default the thread pool size
is based on the number of attached devices.
Better readability of the POM.
Stripped out references and use of aether and replaced with maven-dependency-tree instead to firewall us from maven-3.1 vs pre 3.1 environments.
NB NativeHelper#processTransientDeps is still a stub
Allowing the project to be built and test against Maven-3.0.4 again.
Dealing with shifting and blacklisting artifacts without requiring ArtifactHandler.
Why are we ONLY shifting/blacklistng commons-logging??? What is special about it?
Proper config of DependencyGraphBuilder in AbstractAndroidMojo.
Better logging in LifecycleParticipant.
Returning the one and one resolved artifact in the BuildHelper.
Proper config for dependencyGraphBuilder
Implemented NativeHelper#processTransientDeps using maven-dependency-tree.
Introduced ArtifactType constants for "a", "har" and "so" objects.
Don't include the project artifact into it's own list of dependencies.
Using a HarArtifactHandler to resolve har files.
Bit of logging cleanup.
Reordered components.xml and added comments to make it more readable.
Locked down all the plugin versions.
Split dependencies into deps + dep management.
Split dependencies into deps + dep management.
Refactored BuilderHelper into UnpackedLibHelper and ArtifactResolutionHelper.
Renamed AarMavenLifecycleParticipant to ClasspathModifierLifecycleParticipant for clarity.
Add Connect and Disconnect mojos
Update AndroidNdk.java

Missing space in error message
Doesn't attempt to archive R.txt into an AAR if it doesn't exist.
Merge pull request #305 from william-ferguson-au/intellij-issue-449

Resolves Intellij issue 449