Fixup migrate_config to use new Config API.

When support for multiple config files was added
migrate_config broke accessing a no-longer available
`Config.configparser` field.

Testing Done:
Found the tool broken when trying to migrate twitter/commons (https://rbcommons.com/s/twitter/r/1513/):
```console
$ pants.dev binary src/python/pants/option:migrate_config
$ ./dist/migrate_config.pex ~/dev-jsirois-commons/pants.ini
Checking config file at /home/jsirois/dev-jsirois-commons/pants.ini for unmigrated keys.
Traceback (most recent call last):
  File "/home/jsirois/dev/3rdparty/pants/dist/migrate_config.pex/.bootstrap/_pex/pex.py", line 272, in execute
    self.execute_entry(entry_point, args)
  File "/home/jsirois/dev/3rdparty/pants/dist/migrate_config.pex/.bootstrap/_pex/pex.py", line 320, in execute_entry
    runner(entry_point)
  File "/home/jsirois/dev/3rdparty/pants/dist/migrate_config.pex/.bootstrap/_pex/pex.py", line 337, in execute_module
    runpy.run_module(module_name, run_name='__main__')
  File "/usr/lib/python2.7/runpy.py", line 180, in run_module
    fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "pants/option/migrate_config.py", line 112, in <module>
  File "pants/option/migrate_config.py", line 72, in check_config_file
AttributeError: 'ChainedConfig' object has no attribute 'configparser'
```

After this fix I was able to run the tool and migrate twitter/commons:
```console
$ pants.dev binary src/python/pants/option:migrate_config
$ ./dist/migrate_config.pex ~/dev-jsirois-commons/pants.ini
Checking config file at /home/jsirois/dev-jsirois-commons/pants.ini for unmigrated keys.
Found jvm_args in section [junit-run]. Should be jvm_options in section [test.junit].
Found no_warning_args in section [java-compile]. Should be no_warning_args in section [compile.java].
Found jvm_args in section [scala-repl]. Should be jvm_options in section [repl.scala].
Found bootstrap-tools in section [checkstyle]. Should be bootstrap_tools in section [compile.checkstyle].
Found configuration in section [checkstyle]. Should be configuration in section [compile.checkstyle].
Found warning_args in section [java-compile]. Should be warning_args in section [compile.java].
Found javac_args in section [java-compile]. Should be args in section [compile.java].
  Note: source and target args should be moved to separate source: and target: options. Other args should be placed in args: and prefixed with -C.
Found partition_size_hint in section [java-compile]. Should be partition_size_hint in section [compile.java].
Found properties in section [checkstyle]. Should be properties in section [compile.checkstyle].
```

CI went green here: https://travis-ci.org/pantsbuild/pants/builds/44441244

Bugs closed: 876

Reviewed at https://rbcommons.com/s/twitter/r/1514/
Fix python thrift generation.

constants.py always imports ttypes.  so if you have a .thrift file that only contains constants, apache_thrift_gen will generate a broken dist.

Testing Done:
Before

11:14:03 00:01       [run]
                     ============== test session starts ===============
                     platform darwin -- Python 2.7.5 -- py-1.4.26 -- pytest-2.6.4
                     plugins: cov, timeout
                     collected 0 items / 1 errors

                     ===================== ERRORS =====================
                      ERROR collecting src/test/python/apache/aurora/config/test_thrift.py
                     src/test/python/apache/aurora/config/test_thrift.py:30: in <module>
                         from gen.apache.aurora.test.constants import INVALID_IDENTIFIERS, VALID_IDENTIFIERS
                     /private/var/folders/rd/_tjz8zts3g14md1kmf38z6w80000gn/T/tmpAttv8X/gen/apache/aurora/test/constants.py:8: in <module>
                         from ttypes import *
                     E   ImportError: No module named ttypes
                     ============ 1 error in 0.14 seconds =============

FAILURE

After

11:24:46 00:01       [run]
                     ============== test session starts ===============
                     platform darwin -- Python 2.7.5 -- py-1.4.26 -- pytest-2.6.4
                     plugins: cov, timeout
                     collected 10 items

                     src/test/python/apache/aurora/config/test_thrift.py ..........

                     =========== 10 passed in 1.00 seconds ============

11:24:54 00:09     [junit]
11:24:54 00:09     [specs]
               SUCCESS

Reviewed at https://rbcommons.com/s/twitter/r/1517/
Fix missing standard file headers.

Also fix Utf8HeaderTest so it can be run in isolation. Make it be a
BaseTest since this works around issues with Config.load() in the
current state of the Config cache.

Testing Done:
After the Utf8HeaderTest fix:
```console
$ pants.dev test tests/python/pants_test:test_utf8_header
*** Running pants in dev mode from /home/jsirois/dev/3rdparty/jsirois-pants2/src/python/pants/bin/pants_exe.py ***
...
13:51:13 00:01   [test]
13:51:13 00:01     [run_prep_command]
13:51:13 00:01     [pytest]
13:51:13 00:01       [run]
                     ============== test session starts ===============
                     platform linux2 -- Python 2.7.8 -- py-1.4.26 -- pytest-2.6.4
                     plugins: cov, timeout
                     collected 1 items

                     tests/python/pants_test/test_utf8_header.py .

                     ============ 1 passed in 0.30 seconds ============

13:51:20 00:08     [junit]
13:51:20 00:08     [specs]
               SUCCESS
```

CI went green here: https://travis-ci.org/pantsbuild/pants/builds/44506276

Bugs closed: 879

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