ENH: Also support [count] for the swaps.

So far, it was only passed through to the fallback. To read the count for the visual mode mappings, we use a new s:GetSelection() function instead of "dy, which has the nice side effect that it doesn't clobber the register.
Avoid clobbering the register mode when inserting.

Apply the same save-and-restore idiom introduced with s:GetSelection() and replace the "s temp register use with it. The :finally block also fixes an early return that failed to restore the register.
Avoid clobbering the 'a mark.

In Vim 7.2 and higher, the '" mark can be used instead. It is far less likely to disrupt the user's operation.
Merge pull request #11 from inkarkat/swap-count

Swap count added - thanks inkarkat