Use customizable binary locations with diagnostics

@cyc cc @lucaswiman This commit makes the binary locations for `coffee` and `sass` customizable. It also provides the option of using Bundler (http://bundler.io/) to run Sass. This can be especially helpful in situations where users want to lock down their CoffeeScript or Sass installation.

In addition, the asset precompiler now performs a few checks before compilation to make sure that the tools it needs exist. This also gives better diagnostic messages.

The default Sass option `--compass` is removed in this commit since not everyone uses it.

Just calling `which` in a subprocess seems cleaner, or at least shorter. This implementation seems like reinventing the wheel.