lispy.el (lispy-from-left): improve

* lispy.el (lispy-from-left): Use `lispy-save-excursion' instead of
  `save-excursion'.
  The code inside the body is no longer responsible to end on a side
  that it started from, as the check is performed again here.
  This could potentially break some code, but the current tests are
  passing.
lispy.el (lispy-convolute): simplify
lispy.el (lispy-convolute): simplify

* lispy.el (lispy-forward): Return (point) instead of t.
  (lispy-backward): Return (point) instead of t.
  (lispy--out-backward): Return (point) instead of t.
lispy.el: fix "w"/"s" for org.el

* lispy.el (lispy-move-up): Account for "\t".
  (lispy-move-down): Account for "\t".

org.el is aligned with both tabs and spaces. yuck.
lispy.el (lispy-convolute): now takes arg

* lispy-test.el (lispy-convolute): Add test.
lispy.el (lispy-repeat): add and bind to "."

* lispy.el (lispy-repeat--prefix-arg): New var.
  (lispy-repeat--command): New var.

Super useful to cycle convolute with "2C....", or "3C.....".
Also "2s...." for moving plist items.
lispy.el (lispy-convolute): simplify
le-clojure.el (lispy--eval-clojure): improve
lispy.el (lispy-eval-other-window): ignore whitespace
lispy.el (lispy-convolute): now works from below as well

* lispy-test.el (lispy-convolute): Add test.

Before only top parts were swapped.
Now both top and bottom are swapped.

FROM:
(takes-two
  (takes-three
   |(takes-four 1 2 3 4)
   second
   third)
  other-second)

TO:
(takes-three
 (takes-two
  |(takes-four 1 2 3 4)
  other-second)
 second
 third)
lispy.el: add support for reading Clojure map literals

* lispy.el (lispy--read): Can read {:a 1 :b 2}.
  (lispy--insert): Can print {:a 1 :b 2}
lispy.el (lispy-ediff-regions): improve

* lispy.el (lispy-ediff-regions): Improve for the case of a two-window
  vertical split. Make sure that windows aren't swapped during the diff.
  (lispy--vertical-splitp): New function.
lispy.el (lispy-ediff-regions): simplify
lispy.el (lispy--read): improve for ",@"
lispy.el (lispy-bind-variable): deactivate mark