Include job working_directory in response...

... so Galaxy's finalization code can rewrite metadata stuff if needed.
Minor logging improvement.
Move Python 2.6 compat ArgumentParser into daemon.py so can be reused there.

Add ArgumentParser description help message to daemon.py so --help works. Still needs a lot of work.
Merge.
Ensure more logs/pids are ignored by default.
Fix NoneType exception on failure to connect to queue.
Refactor more code for common consumption out of lwr/daemon.py.

This code for finding a ini file, parsing it, and setting up logging in non-paste contexts.
Add Apache Mesos framework for LWR (prototype).

One possible way to test.

- Setup Mesos cluster (for testing see https://github.com/mesosphere/playa-mesos).
- Install LWR on Mesos cluster.
- Install Mesos client into LWR virtualenv (e.g. easy_install http://downloads.mesosphere.io/master/ubuntu/14.04/mesos-0.19.0_rc2-py2.7-linux-x86_64.egg)
- Configure LWR to talk to a message queue (set message_queue_url in server.ini and ensure pycurl is available).
- Configure Galaxy to submit to this LWR instance via message queue (see notes in job_conf.xml.sample_advanced).
- Run new LWR Mesos framework process passing it host and port Mesos master.

  ./script/mesos_framework --master=10.141.141.10:5050

  Can also pass this command --manager, --ini_path, --app to target a different manager or a "paste" app other than default of main in server.ini.

- Run a Galaxy job.

Limitations: Probably several of these - most obvious to me is these processes are not dying cleanly (because of non-daemon message queue threads I guess) and cancelling jobs in Galaxy has no effect. Need to reconsider how to do this (cli-based submission has same limitation and can probably be fixed at same time). Then of course there is the ever present lack of documentation.
When run as a Mesos framework, inject MESOS_URL environ variable into job runtime.

Should allow actual jobs to utlize the Apache Mesos framework if they wish (as outlined by @kellrott in http://dev.list.galaxyproject.org/Using-Mesos-to-Enable-distributed-computing-under-Galaxy-tp4662310.html).
Documentation improvements.

Don't attempt to install pyOpenSSL by default - it is problematic and I think it can prevent people from trying the LWR. Expand out the section about LWR security however with more information about install pyOpenSSL on Linux and on Windows. Also fill out a section on message queues. Other small readme improvements.

Add more automodule docstring annotations. Actual code documentation is somewhat pointless though since LWR doesn't have a ton of useful docstrings.
PEP8 fixes.
Doc improvements - add some specific, small Galaxy job_conf.xml examples...

... laying out three presumably typical use cases.
Correct link in previous commit.
Docfixs for "working" Galaxy examples.
Allow specification of LWR file_actions as YAML.

It is a better a format for configuring this sort of thing and pyyaml is now available in Galaxy. Includes generic module for reading YAML/JSON/INI configs (sort of a home grown anyconfig).
Extend update_galaxy_utils.sh to sync more of Galaxy and the LWR...

... include galaxy.objectstore, galaxy.tools.deps, and galaxy.jobs.metrics.
Test improvements - ensure message queue tests only run if PyCurl + Kombu available.

... also improve error log location.
Update shared Galaxy modules to newest changes in Galaxy.

Most importantly this adds containerization to galaxy.tools.deps and metrics improvements. LWR can be containerized by Galaxy - but it would be cool if Galaxy could send abstract description of containers and allow the LWR to containerize the job (that functionality would allow LWR containerization of arbitrary other potential clients beyond Galaxy).
Fix for 4115b85.
Update LWR client for recent Galaxy changes.