enable play integration test; fork twirlcompile
Added some code documentation.
Fixed stability of one of the tests

This test was flaky for me. System.out.print() sometimes did not incur 'flush' in time and hence the output events were not attached to correct test id.
GRADLE-2841 Started capturing output events earlier

- Tidy-up is pending (remove unused fields, etc.). This change removes some duplication between TestNG and JUnit as the capturing of output happens outside of specialized test framework code.
- Changed the class that captures output: it now supports hierarchy better (previously it only supported 2-level test hierarchy).
GRADLE-2841 Removed unused fields
Added another integration test for TestNG support.
Added more documentation regarding TestNG
Added another integration test for TestNG support
TestNG coverage - reduced duplication
Covered the capturing logging from logging tools (TestNG)
Checkstyle
Busted complexity to separate classes to simplify testing and kill a shamock test I contributed when I was young and stupid
Changed default expire threshold for the daemon until I figure out ci failures
fix failing integration test on unknown os
Selection rules should not apply to parent poms

+review REVIEW-5253
Include documentation on plugins {} block from plugins.gradle.org in user guide

+review REVIEW-5255
Include documentation on plugins {} block from plugins.gradle.org in user guide

+review REVIEW-5255
Add missing extensions of Model interface

+review REVIEW-5254
Remove false extensions of Model interface

BasicGradleProject is not a model that can be fetched through the Tooling API's org.gradle.tooling.ProjectConnection#model

+review REVIEW-5254
Revert: Remove false extensions of Model interface

BasicGradleProject can be fetched as a model through a BuildAction

+review REVIEW-5254 (reverted from commit 1e9a65d2cfd609fd037f1c7d6766dbd8a58e7783)