add integ test coverage for default and custom tasks with configuration block

+review REVIEW-5208
change custom component sample to actually produce something

- produce one svg file per binary

+review REVIEW-5208
Add coverage for components with multiple binaries and multiple tasks per binary

+review REVIEW-5208
verify build text output in custom components sample project

+review REVIEW-5208
Introduce common BinaryTasksCollection

+review REVIEW-5208
add some meaningful javadoc to BinaryTasksCollection

+review REVIEW-5208
Pull some code up into DefaultBinaryTasksCollection
+review REVIEW-5208
Extracted some interfaces out of TestableDaemon and DaemonLogsAnalyzer, and some renames.
Reworked unit test a bit to get rid of race conditions.
Detangled forwarding of input and forwarding of cancellation message in the daemon client. Pushed the thread safety down to DaemonClientConnection.
Renamed test class.
Added an internal (for now) method on DefaultGradleConnector to allow client code to close the tooling API. Doesn't do much yet.
SynchronizedLogging doesn't actually need to do any synchronization, as it uses thread locals.
This doesn't need to be Serializable.
Forward shutdown request to each of the tooling api providers used by the client, and discard the providers once complete. The provider currently doesn't do anything with the request.
Missed this from the previous commit.
Added a little more test coverage for shutdown of the tooling api client.
Renamed test class
Fixed resources.text() problem

All instances where I've applied the fix call for coverage. Bugs like to cluster so let's get this covered. I needed to fix this otherwise I cannot use master Gradle with my builds. Not sure whether this problem also exists in the release branch.
Javadocs.