cljr-replace-use now handles clauses with :only

Additionally, cljr-refactor-use also sorts the ns if auto-sort-ns is t.

Support for :exclude is left as an exercise for the reader.

Closes #31
first draft of move-forms refactoring

The following features have been implemented:
- Move one form to a new ns.
- Move whatever is selected by region to a new ns.
- Fail if the selection is deemed to be unbalanced by paredit and make
sure we don't create whitespace errors in either buffers
- New home is found using find-file prompt.
- An attempt is made to do the right thing when we're updating the ns
declaration in the buffer we moved from.  At present this is limited to:
1) appending to an existing :refer vector 2) Doing nothing if :refer
:all is present or if the ns is imported and the user chose to prefix
instead of referring the moved vars.

This draft has the following limitations:
- There are no tests!
- When the ns is updated to refer/prefix whatever we moved
the current code doesn't handle [:as] or [:only] combinations
- The buffer we're moving stuff into might be left in a bad state
because its NS declaration is left unchanged.  For users of slamhound
this can be rectified easily.
Don't use (interactive "r")

This caused the fn to fail in a fresh emacs where mark was unset.  Using
region-active-p with region-beginning and region-end seems like the way
to go.
Remove uneeded code after cljr--add-ns-prefix change
Add basic test and make it pass

- Removed require-final-newline as it doesn't seem to impact the test.
- For the tests to pass I had to use (open-line 2) instead of 1, when
  appending to the destination buffer.  This results in two lines
  between defns when I try it locally, even with emacs -Q.  I have no
  idea what this is about.
Be smarter about modifying the ns when moving defns

Obviously easier to update the existing :require clause than to rebuild
it.  Don't code when tired, kids.
Change order of names in :refer clause created by move-forms refactoring

These now match the order they appear in the the buffer.
Tests with visual selection
refactor to use cljr--search-forward-within-sexp
Add cljr--search-forward-within-sexp*

This variant doesn't move point.
Add failing test
Fix typo in test that made it fail
When referring, exclude private functions
Add another testcase

showcasing appending multiple vars to an existing :refer and how private
functions are excluded, as they should be.