Migrate dependencies, depmap, detect_duplicates and check_published_deps to new options

Testing Done:
https://travis-ci.org/pantsbuild/pants/builds/39655628

Reviewed at https://rbcommons.com/s/twitter/r/1269/
Deeper selection of internal targets during publishing

The current behavior of selecting directly declared Jarable targets broke ages ago during Patrick's target refactor. In order to appropriately walk through intermediate jar_library/target declarations, we need to recurse.

It's common practice internally to have a top-level alias (a 'target' declaration) to point deeper into the directory structure to an actual java_library or scala_library. This meant that publishing was 1) ignoring those deps during fingerprint calculation and 2) not including them via DependencyWriter in written poms.

Testing Done:
test publishes; will follow up to add unit tests here if things look sane.

Reviewed at https://rbcommons.com/s/twitter/r/1213/
Add Task.workdir docs.

Testing Done:
CI went green here: https://travis-ci.org/pantsbuild/pants/builds/39909933

Bugs closed: 766

Reviewed at https://rbcommons.com/s/twitter/r/1277/
Fix DetectDuplicate's handling of an 'append'-type flag.

Testing Done:
Ran the broken tests, verified that they succeed with this change.

Reviewed at https://rbcommons.com/s/twitter/r/1282/
Switch a bunch of migrated tasks to read option values the new way.

Note that this also allowed us to get rid of some explicit fallbacks
to the config file, as new options do this automatically, assuming
the right naming conventions.

Some configs were renamed and added to the config migration script,
to align them with these conventions.

Note that this slightly changes the semantics of one flag. Previously
--extension in MarkdownToHtml would overwrite the default values of
['.md', '.markdown']. Now it appends to those two defaults. So the
default extensions will always be processed, plus whatever is added.

Testing Done:
CI pending.

Reviewed at https://rbcommons.com/s/twitter/r/1281/
Add support for the Wire protobuf library.  Adds the java_wire_library() target.