Initial benchmarked fragment profiling implementation.

Adding benchmarking data to profile_fragment_quality profiler and
results classes to calculate per-fragment score quantiles and process
in results objects.

Adding basic BenchmarkedProfileFragmentQualityTask, which handles
database read, fragment extraction, and profiling for input structures.
Updating core demo to use new task object.

Implementation should be refactored to move substitution profile and
result set selection parameters out of profiler constructor and into
method parameters.