Revert conversion of thrift_linter.py to new options format, left in place TODO about precedence of override in target

Testing Done:
PANTS_DEV=1 ./pants goal test tests/python/pants_test/tasks:thrift_linter_integration   passes again

Bugs closed: 727

Reviewed at https://rbcommons.com/s/twitter/r/1223/
Read arguments for thrift-linter from pants.ini.

This allows changing linter options without changing pants.

Testing Done:
./build-support/bin/ci.sh

PANTS_DEV=1 ./pants goal thrift-linter testprojects/src/thrift/com/pants/testproject:thrift-java

Bugs closed: 719

Reviewed at https://rbcommons.com/s/twitter/r/1215/
Add support for updating the environment from prep_commands.

Reviewed at https://rbcommons.com/s/twitter/r/1222/
Include traceback with failures (even without fail-fast).

Testing Done:
Ran tests.

Reviewed at https://rbcommons.com/s/twitter/r/1226/
Fix a bug where all OptionValue objects had the same underlying forwardings.

This wasn't seen earlier because in practice all tasks migrated so far had
disjoint option names.

This was exposed when I migrated two unrelated tasks that happened to have
an identically named option (--skip).

Testing Done:
CI passed.

Verified that this fixes the name collision issue that triggered its discovery in the first place.

Reviewed at https://rbcommons.com/s/twitter/r/1229/
move ide_gen.py and friends idea_gen.py and eclipse_gen.py to new options

Move ide_gen.py and friends idea_gen.py and eclipse_gen.py to new options

Testing Done:
CI is running.

Bugs closed: 736

Reviewed at https://rbcommons.com/s/twitter/r/1230/
change thrift_linter.py to use new register_options

Testing Done:
Take two. Previous change accidentally added "default=False" which was inappropriate and ended up breaking the logic that falls back to a value defined in the BUILD file. Now we explicitly default the flag to None and preserve the desired logic.

I ran the integration tests related to thrift linter, which I inadvertently broke in my last attempt at this:
  devpants goal test tests/python/pants_test/tasks:thrift_linter_integration

Reviewed at https://rbcommons.com/s/twitter/r/1225/
Fix spacing in thrift_linter.py
Allow UTF-8 characters in changelog

Testing Done:
Tests pass, except that sometimes they fail on travis because
sys.stdout.encoding.

Reviewed at https://rbcommons.com/s/twitter/r/1228/
Minimal target "tags" support

This doesn't provide any addtional end-user functionality, but has been useful as a channel for custom tasks and BUILD files to communicate addtional information about targets.

We've been rebasing this change on top of upstream pants for releases at Foursquare for a few months now and we've found it useful in implmenting downstream custom tasks (like our graph rules), which need a place to put additional information in the build graph, while staying out of the internally meaningful things like `labels`.

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

Reviewed at https://rbcommons.com/s/twitter/r/1227/
Remove java_sources as target roots for scala library in depmap project info #670

Testing Done:
ci passes

Reviewed at https://rbcommons.com/s/twitter/r/1190/
convert more .rst files to .md

convert more .rst docs to .md. With this, src/python/pants/docs/*.rst have been converted.

In some pages that were already converted, some links were "TODO" because their destinations weren't converted yet. So fix those up.

Mostly formatting changes, no content changes. except...

src/python/pants/docs/docs.rst -> src/python/pants/docs/docs.md : this page said that docs were .rst format with some details. switched to saying .md format, left out new details.

src/python/pants/docs/with_emacs.rst -> src/docs/with_emacs.md : Changed title to mention "Emacs" instead of just "Ensime".

more small tweaks in response to reviewer feedback

Testing Done:
eyeballing. To eyeball this change along with a couple of sitegen-fix reviewboards, see http://pantsbuild.github.io/sitegen-test/

grepping for some common mistakes from previous batch

Reviewed at https://rbcommons.com/s/twitter/r/1219/
git root calculation for idea goal

Testing Done:
tested in dev mode locally. ci passes.

Reviewed at https://rbcommons.com/s/twitter/r/1189/