Makeflow Environment Propagation

Fixes #39. Environment variables are now propagated from makeflow through the batch interface to most batch drivers (local, condor, sge, work_queue) and are implemented in the work_queue master and worker.

One deficiency is that the list of variables is passed around as a string in the form of a=b;c=d;... at the batch job interface, so you cannot have variable values containing semicolons.  Despite that limitation, this will be a big help to several key users.

This would be better addressed by passing a data structure through the interface but I want to hold off on that complexity until e can go all in and pass a json structure to represent the whole job, similar to how @batrick did the chirp_job interface.

Still cooking on this one, do not merge yet...