redo ruby-expansions

- Many issues with the last hurried commit.
Adding start of custom expansions for octave-mode.
Just some comments musing how better to attack mark-assignment.
Adding tests for mark-block functionality of octave-mod (none of which pass, I now realise)
Fixing tests!

A few issues: off-by-one errors, and one where the should-be text was
completely wrong.
Fixing mark-block functionality for octave.

Modified solution is easy: add octave-mark-block as one function, then
add another that assumes a block has already been marked, goes up
another block, and marks that one (which has the same effect as
octave-mark-block if called when it's not a block that's marked)
Adding GPL header.
We'll leave mark-assignment functionality out for now.
Improvement to the mark-ruby-block

It doesn't conflict with the mark-word
Added tests for mark-ruby-block
Improved ruby tests
Added scenarios for ruby function expansion
Fixed typo on ruby-mode feature
Make sure tests are run with the correct Emacs version
Disable emacs-snapshot until it is in working order.
Set `this-command' for `keyboard-quit' to work properly

expand-region-core.el (er/prepare-for-more-expansions): Set
`this-command' so that continued command are recognized by the advised
`keyboard-quit'.
Enhance display of repeated key

* expand-region-core.el (er/prepare-for-more-expansions): Use
  `single-key-description' instead of `format-kbd-macro'. This avoids
  descriptions like "\\340".
Add 2 scenarios testing C-g after pressing @ or -

* features/expand-region.feature: Add 2 scenarios testing C-g after
  pressing @ or -
Merge pull request #61 from thisirs/master

Two tiny patches
cover case when we are on line with "end"