staticController: add compositeContentProvider
staticController: add adhocContentProvider
tests: rename file to match type
registry: build new contentProvider graph
adhockContent: pass in byte array rather than a stream
processedContent: only handle text mimetypes
configuration: expose adhoc resource adding