Finegrained detection for Rails2 apps

This PR introduces fine grained rails2 and rails 3 detection. I found this problem by using a directory structure similar to rails for a non rails project. The problem was my app was considered rails 2 by the existence of `config/application.rb`. This commit reads the content of the file to determine if it's actually a rails2 app. 

This introduced another problem. The Rails 3 pack inherits from Rails 2 and calls `super`. This made me duplicate logic from the superclass in the subclass to keep things in order.