Annotate optional inputs with @Optional

The alternatives and configurations inputs of the
AlternativeDependenciesTask are optional; if they are not specified,
sensible defaults are provided. This commit annotates them as @Optional
so that Gradle knows that a value is not required
Merge pull request #24 from wilkinsona/optional-inputs

Annotate optional inputs with @Optional
Test configs are ignored by default when checking excludes

Incomplete exclusions are only a problem for dependencies that will
appear in a project's generated POM files. Test dependencies will not
appear so we do not need to worry about them having incomplete
excludes.

This commit updates IncompleteExcludesTask so that, by default, it
will ignore any configuration whose name in lower case contains
'test'. To override this behaviour, the configurations property of the
IncompleteExcludesTask can be set to the collection of configurations
that should be checked

Fixes gh-25
Ensure that springioTestRuntime config contains Spring IO versions

The configured dependency resolution action is now registered for each
dependency in beforeResolve on the springioTestRuntime configuration.
This delays the reading of the configuration while also ensuring that
the resolution action is always applied to the configuration
Merge pull request #26 from wilkinsona/configure-springio

Ensure that springioTestRuntime config contains Spring IO versions
Fix tests to use task.alternatives instead of task.alternaives
SpringioPlatformPlugin no longer uses deprecated testResultsDir/testReportDir
Next development version
Update README.asciidoc
Next development version
Clarify springio plugin only impacts new tests
Update spring-platform-plugin version
Update README.asciidoc
Polish README
Remove redundant code

As of 3b88a919 ConfigureResolutionStrategyTask is no longer used and
it should have been deleted as part of that commit. This commit
corrects that oversight.
Improve handling of unmapped dependencies

Previously, all unmapped dependencies were treated equally. With this
commit a distinction is now made between unmapped direct dependencies
and unmapped transitive dependencies. By default, the build will fail
in the event of one or more unmapped direct dependencies but unmapped
transitive dependencies have no effect on the build's outcome. This
behaviour can be overridden via the  springioPlatform extension's
failOnUnmappedDirectDependency and failOnUnmappedTransitiveDependency
properties respectively. For example, to only fail on unmapped
transitive dependencies:

springioPlatform {
	failOnUnmappedDirectDependency = false
	failOnUnmappedTransitiveDependency = true
}