Never execute keyboard macros for fake cursors.

 - The real cursor will execute the keyboard macro, resulting in new
   commands in the command loop, and the fake cursors can pick up on
   those instead.

Fixes #18
Add mc/dump-list to make mc/save-lists diff-friendly
Sort before saving list in mc/save-lists
Mention region-bindings-mode in README
Merge pull request #20 from tkf/diff-friendly-save-lists

Diff friendly .mc-lists.el
Add Takafumi Arakaki to list of contributors
Include interactive commands for deselecting prev/next

Fixes #21
Make mc/cycle-forward and mc/cycle-backward loop around by default.

Instead of erroring if there is no next (respectively previous) cursor
mc/cycle-forward (respectively mc/cycle-backward) will just loop back
to the first (respectively last) cursor.
Use (interactive "P") instead of the weird (but equivalent) (interactive (list prefix-arg))
When no region is active mc/mark-next-like-this and mc/mark-previous-like-this should create a cursor one like up (or down).

Added the functions mc/mark-next-lines and mc/mark-previous-lines
which create cursors one line above and below point.

Refactored common mc/mark-previous-like-this and
mc/mark-next-like-this functionality into mc/mark-more-like-this.

Changed mc/mark-next-like-this and mc/mark-more-like-this to call
mc/mark-next-lines and mc/mark-previous-lines when there is no
active region (instead of erroring).
Added tests for mc/cycle-forward and mc/cycle-backward with their new looping behaviour
Added test for mc/mark-(next|previous)-like-this when there is no active region.
Split macro mc/for-each-fake-cursor into a function returning all the cursor overlays and a macro to loop over this list.
Fix issues with mc/cycle-(backward|forward) where the cycling was dependent on not having an active mark.

This patch also adds two utility functions mc/first-cursor-after and mc/last-cursor-before.
Remove superfluous lambda.

Caught by magnars (https://github.com/magnars/multiple-cursors.el/pull/23#commitcomment-1983191)
Refactor mc/first-cursor-after and mc/last-cursor-before to not use extreme.

Sometimes imperative code is more readable.
Suggested by magnars (https://github.com/magnars/multiple-cursors.el/pull/23#commitcomment-1983268)
Added stop as a possible value for mc/cycle-looping-behaviour.

Simply disables looping (no warning either).
Don't let mc/mark-lines create 'double' cursors.

Previously using mc/mark-lines in a fowards/backwards/forwards
combination would cause multiple cursors to be placed at the same
point of the same line. This is not useful behaviour.

Noted while implementing magnars suggestion: https://github.com/magnars/multiple-cursors.el/pull/23#commitcomment-1983183
Rename mc/(first|last)-cursor-(before|after)-point to mention that they operate on fake cursors
Merge pull request #23 from segv/master

Improve mc/cycle and mc/mark-next/prev