Extract ns prefixing of symbols into own fn
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.