Allow dynamic job destinations to more easily burst.

Add utility to RuleHelper to simplify bursting reasoning slightly, setup a stock rule for bursting between two static job destinations - mostly for demonstration purprose but it might be useful in some settings.
High-level utilies for dynamic destinations to reason about docker support for tools.

Added supports_docker function to RuleHelper for use in dynamic destination rules and a very simple stock dynamic destination type that will sort all jobs into either a docker enabled destination or a vanilla destination depending on whether the tool being mapped supports docker (at this time that means is annotated explicitly with a container id).