Remove unused var
Swap sibling elements
Add note about implementation
Change s:select_current_marks() calls to simple gv

We know our marks are valid at this moment.
Implement sexp_swap_form_*

Sometimes you want to move the whole form when you're not on a bracket.
Abort swap if nothing selected
Comment refactoring

No want, do
Don't check for multibyte bug unless on multibyte char
Add note about swapping comments
++todo
Initial visual swap support
Fix tail, tail_head logic

Still doesn't handle selections like:

    (foo (bar baz) quux)
     <      >

"foo (bar" will become the selection, instead of "foo (bar baz)"
Move big hairy sexp#swap_element to the end of the file

All the other functions grew beautifully out of the original design,
except for this nasty beast.
Don't mark via normal!
Extend selection to cover partially selected forms

Solves problem mentioned in 2f3b38f4d8edbc0ff7f4f4d8975e71509ccafab5
Handle whitespace terminals in selection swaps
Clarify with string keys
Always select _next_ element when visual terminal is on whitespace
Use control codes to mark displaced elements

After wrestling with various solutions, it became clear that the
arithmetic solution to finding the terminals of the original selection
after swapping forward required at least 4 different branches.

Using ASCII START OF TEXT and END OF TEXT control characters to delimit
the next element is a quite simple and hackish solution. If we find that
there are many source files with literal 0x02 and 0x03 characters, we
can delimit with chains of control characters.
Merge branch 'swap-element'

* swap-element:
  Use control codes to mark displaced elements
  Always select _next_ element when visual terminal is on whitespace
  Clarify with string keys
  Handle whitespace terminals in selection swaps
  Extend selection to cover partially selected forms
  Don't mark via normal!
  Move big hairy sexp#swap_element to the end of the file
  Fix tail, tail_head logic
  Initial visual swap support
  ++todo
  Add note about swapping comments
  Don't check for multibyte bug unless on multibyte char
  Comment refactoring
  Abort swap if nothing selected
  Implement sexp_swap_form_*
  Change s:select_current_marks() calls to simple gv
  Add note about implementation
  Swap sibling elements
  Remove unused var