fix bounds validation logic - no line may be 0
refactor searchpair() invocation
add middle patterns to match else etc.

when g:textobj_ruby_inner_branch is true, searchpair() is passed the
regex g:textobj_ruby_middles as the {middle} argument, thus selecting
single conditional branches as inner blocks.

'a' block still selects the area delimited by do/end etc.
move up one line before looping over the count instead of calling bounds() at two locations