Implement "Match ad hoc delimiter"

As discussed in #335, and described in https://groups.google.com/forum/#!searchin/vim_dev/im%2420am/vim_dev/pZxLAAXxk0M/wdOgpOQ05Z8J

These two commits add the `m<char>` delimited text object, both for use in the common modes and by using the surround plugin.