WrappedModule now ignores def_delegator methods, fixes #801

If a class had most of its methods defined by def_delegators, the module extraction code would break.
This was due to Pry::WrappedModule looking for the class definition in fowardable.rb. We now
just simply reject all methods that have source_location.first =~ /forwardable\.rb/
Try to simplify edit.rb

* Remove ContextLocator, inlining the class in edit.rb instead.
* Pass explicit parameters into MethodPatcher and ExceptionPatcher, rather than passing 'self'
  and using def_delegators

Hopefully this won't upset codeclimate too much!
oops, forgot to remove context_locator require
Prettify command descriptions, switches and stuff

Wrap command descriptions to 80 characters. Convert some string options
to symbols (where possible). Align options in code. Remove dots in the
end of switch descriptions.

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>
Improve Pry::Command::Edit

* put all file and line location logic into FileAndLineLocator module
* pass explicit parameters to ExceptionPatcher and MethodPatcher (rather than just 'self')
Extract Table to its own file
Pry::CodeObject: remove unnecessary 'target' parameter

Since we can access 'target' via _pry_.current_context

* We also update a few files (code_collector/show_info) that need to be updated for this change
edit command: add --method option

* --method doesn't accept any parameters, it only edits the 'current' method associated
with the binding. It's equivalent to 'edit-method' (with no args).
* This option is necessary as 'edit' by itself edits the last expression.
* Note that --method doesn't just edit the current method, if no method exists (i.e binding.pry was not put
inside a method context) then it edits the current OBJECT instead.

TODO:
* explicitly restrict --method to *just* methods and not allow it to fall back to objects?
* allow --method to take a parameter that must be a method object? e.g --method Pry#repl works
but --method Pry would fail ?
Update show-file docs
Fixed using a preprocessor just looking for --no-plugins in the ARGV array using slop. Dirty and effective fix.

Took out the trash from the dev process
edit: Add example for `--ex --patch` combination

And make the two-column examples.
Pass SyntaxErrors to error handler too. [Fixes #774]
add edit-method stub: deprecation warning, use edit
Improved Pry::CodeCollector so it accept multiple -i/o ranges

i.e play -i 1..3 -i 5..9 now works
added spec for save-file for multiple -i ranges
updated play_spec.rb to check for errors

Also added play spec for multi-ranged -i options but does not work
for some weird reason?!
added fix-indent command

Re-indents the eval_string, useful for amend_line and play, etc
show-source: prettier error messages
play and amend-line: now use fix-indent to correct broken indentation
Add headings for methods in the output of `ls`

You will see headings when a table has more than 35 methods.
Otherwise, there is no need in them.