Razor Executable Pool

This creates a pool of Razor executables that can be used by the API.
Razor is started in batch mode and the commands are sent via stdin. This
has two effects:

  1. Resource consumed by the razor executable itself are confined. It
     will never be more than one executable per cpu. This helps prevent
     'stacking' and eventually OOM/singularity situations.
  2. The API can now respond very quickly since the disk access is now
     minimized. Time is no longer wasted spinning up ruby just to tear
     it back down again.

This particular solution to the 20K problem is only possible because of
the clever and provident design of the CLI + API. Kudos.

Fixes #265