Rename "Fixnum" to "Integer" in YARD docs

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>
Extract out some code from Code class

Create a new class called `LOC`, which represents a tuple of a line and
a line number (lineno). `LOC` contains methods that operate on a line.
For example, you can colorize it, or add a line number. The idea is to
make the code of `Pry::Code` more readable. It is clear to me that the
current code allows us to single out a new unit: a line of code.

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>
Add some comments for `Pry::Code::LOC`

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>
Rename `add_line_numbers` to `add_line_number`

Rename the instance method of `Pry::Code::LOC`.

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>
Document `Pry::Code::LOC#add_marker`

I thought about some changes that I could make with this method, but
then I realised that it's already quite good.

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>
Change @yield YARD tag for `Pry::Code#select`

It yields `LOC` now. Oh, and also prettify some default method
arguments.

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>
Implement `Pry::Code::CodeRange`

Extract some protected methods from `Pry::Code` and add them into its
own class. Name it `CodeRange`, because it operates on numbers and
represents a range of lines of code.

This commit simplifies `Pry::Code`.

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>
Move `LOC` and `CodeRange` to their own files

`Pry::Code` is not cluttered anymore.

Signed-off-by: Kyrylo Silin <kyrylosilin@gmail.com>