Initial attempt at refactoring Passenger.

* Break functionality out into install, config, and compile classes.
* Add a passenger_dependencies option for listing out compile
  dependencies.
* Fix specs.
Merge pull request #36 from apenney/refactor

[WIP] Initial attempt at refactoring Passenger.