Don't recompute the current overlay in mmm-set-local-variables

Instead pass it the current overlay as a second argument.

* Rename mmm-set-current-submode to mmm-set-current-pair, take overlay as the
  second argument.
* Use the above in mmm-update-current-submode.
* mmm-get-saved-local-variables: Take overlay as the second argument, move the
  filtering code to a new function, mmm-submode-overlay-at, use it in
  mmm-fontify-region-list.
* mmm-save-changed-local-variables: Reverse the arguments order, for consistency
  with other functions. Update callers.
* mmm-fontify-region: Save the current overlay instead of its beginning
  position, then restore it directly.
* mmm-make-region: Pass the newly created region to mmm-set-local-variables,
  instead of making the latter look for the former at point, like previously.
* mmm-make-region: Don't call mmm-save-changed-local-variables, or set the
  mmm-previous-* vars, the next successful call to mmm-update-submode-region
  will do that for us.
* mmm-set-local-variables: Default to mmm-primary-mode
Merge pull request #20 from dgutov/overlays

Some more cleanup around mmm-current-* vars