Refactor the way how `ls` displays global variables

This is just a facility, "ls.rb" still uses the old code for the time
being. I'm going to assemble everything when I prepare all the code.
lib/pry/commands/ls/globals.rb: simplify/refactor some code
Refactor the way how `ls` displays constants

I also had to refactor global variables a bit, because the more entities
I have to display, the harder the code is.
Refactor the way how `ls` displays methods

Also, split a lot of code into the nice small modules.
Refactor the way how `ls` displays self methods
Refactor the way how `ls` displays ivars
Refactor the way how `ls` displays local names
Refactor the way how `ls` displays local variables
lib/pry/commands/ls.rb: use the fresh API's
lib/pry/commands/ls/methods*: move #below_ceiling

Since it's used only in one place, it shouldn't be in the module. Also,
add the missing switch.
Command::Ls: get rid of the superfluous "not"

And also "require" files in the places where I forgot to do that.
lib/pry/commands/ls.rb: refuse from a witty trick

This is for the sake of 1.8.7 compatibility.
lib/pry/commands/ls/methods*: include JRubyHacks in the right place
lib/pry/commands/ls/*.rb: tweak visibility of the methods