Fixed the project dependency behavior for configuration time resolution.

1. Resolving project dependencies at configuration now triggers configuration of the target project. This is useful for both: regular mode and configuration on demand mode. This should be also useful for making buildSrc project a regular project a regular project.
2. Got rid of ProjectDependenciesBuildInstruction because it didn't seem to add more value than well named boolean flag.
Documented programlisting tag for the docs.
GRADLE-2477 and pull request 100 - nested configuration resolution yields an exception

In some rare cases, nested resolution of configurations can happen (see the integ test coverage). I guess the most interesting case is when there is a configuration time project dependency. Such dependency, when resolved causes the target project to be configured and consequently, resolution of his 'classpath' configuration.
Some tidy up after fixing the project dependency resolution for configuration time resolves.
Removed @Ignore from one of the tests.
Reworked coverage for the recently changed DefaultProjectDependency. Spockified jmock tests. Got rid of the test inheritance as it didn't really pay its maintenance bill. There's remaining coverage to be reworked accordingly.
Checkstyle fix
Mentioned contributor who fixed the nested configuration resolution issue in the release notes.