Rewrite launcher in Python

The new launcher has several improvements:

* Use Python 2.4+, which should allow it to work on any system
  without requiring anything except Java to be installed.
* Eliminate issues with stale pid files by using inheritable
  file locks to verify that the process is still running.
* Dynamically set the classpath to everything in the lib directory
  rather than using the manifest classpath. This makes it easy to
  include additional jars containing drivers, plugins, etc.
  Additionally, tools like jps will show the class name rather
  than the path to the jar file.
* Split logging into a launcher log and server log. The stdout and
  stderr for the process are redirected to the launcher log,
  allowing messages from the JVM to be logged. The application
  itself will log to the server log.
Set process name on Linux
Add ConfigurationAwareProvider interface.

Providers implementing this interface get access to the
ConfigurationFactory during bootstrap phase, can consume properties
from the factory and build custom configured objects.

Add a config loader for the classpath.

Add a configuration loader for loading properties from the classpath,
which is useful for test cases.

Also expose the toMap() method which is really useful to convert an
existing Properties object into an airlift compatible Map<String,
String>.