Allow updating dict option values instead of replacing them.
Review Request #3896 — Created May 16, 2016 and submitted
Similarly to list options, this is done by preceding the dict literal with a '+'. This allows, e.g., adding new Go matcher patterns in pants.ini without having to copy the default ones. Note that this has the side effect of making the implicit default value the empty dict, instead of None, which is something we've wanted for a while. So now code using dict-valued options won't need to check for None. This implementation is simpler than that of list options, because lists have the added complication of interpreting --foo=bar as --foo=+[bar], which is irrelevant here.
CI passes: http://jenkins.pantsbuild.org/job/pantsbuild/job/pants/branch/PR-3449/4/