Support custom submit handlers in CDash

Files submitted using HTTP PUT now go through the same processing pipeline (either sync or async) as our traditional .xml files.  This PR also adds support for arbitrary new submission handlers.  This means that all we need to do to support some new type of submission is to write a class that knows how to parse it.