Basic Foreman Support (not ready)

This branch isn't ready yet, but I've needed a place to consolidate discussion of this change, and especially to get feedback to improve it and hear what's working and what isn't for people.

The goal is to make Pow launch Foreman in a way that's as close to `foreman start` as possible, so that it's super easy to work with multiple Heroku apps on my box in development.

Currently, it requires [some changes to Foreman](https://github.com/timshadel/foreman/commits/master) that I've submitted to Foreman (ddollar/foreman#70), but that haven't yet been accepted (and which may not be if they just don't fit the character of Foreman, which is fine and would imply a fairly different approach is needed in Pow which may not be perfectly compatible with command-line use of Foreman).

Also, as @lackac rightly pointed out on #154 where I originally requested a pull, I'm still missing good error handling which will give some reasonable message when things like a compatible version of Foreman aren't found.

Most of the other feedback I've had has come from @lackac, @clee, and @josh on my first draft (timshadel/pow@28862b7) of Foreman support in Pow. I could definitely use more.

I may wait until ddollar/foreman#70 is decided.

*Here's a running list of stuff I think should be fixed or added:*

* Better error handling when Foreman isn't present or isn't compatible with this version of Pow
* Look at changes in [node-http-proxy](https://github.com/nodejitsu/node-http-proxy) and fix constructor to be compatible with it (and make a separate, but similar fix for the proxy portion of Pow and submit that as a separate pull request so it doesn't get mixed up with this one).
* Make the amount of time we'll wait for each web worker to start configurable, and have a more sane default (30s is likely way too long...)
* Offer config option of Foreman before Rack or vice versa.
* Implement idle timeouts to shutdown apps not being used.
* Really test app crashes which occur after launch and make sure we're rock solid on restarts
* Consider killing child processes (just in case) when Foreman master dies; usually Foreman takes care of this really well, but I've seen it not work occasionally and I suspect I'm doing something wrong which should probably be fixed instead of just covered over with a "just-in-case kill"...

*Done. I think.*

* ~~Consider allowing Foreman apps with no `web` proctype to be linked into Pow.~~ Nope. No way to handle idle time well, and plenty of other ways to launch your services (launchctl, or a `Procfile.dev` that's also referenced in your app's `.foreman` file).