define all commands as subclasses of 'Pry::ClassCommand'

I noticed recognize-path, show-middleware, and show-routes used 'create_command'
to define commands while the show-model and show-models commands are defined as
subclasses of Pry::ClassCommand.

I think Pry::ClassCommand subclasses are slightly more clean, and makes the
definition of commands consistent throughout the project.
require an argument for the 'recognize-path' command
Merge remote-tracking branch 'rpag/class_command'
Merge remote-tracking branch 'rpag/required_arg'

Conflicts:
	lib/pry-rails/commands/recognize_path.rb
Add spec for recognize-path behavior