Fix expand_cr behavior with 'smartindent'

When indentation is controlled by 'smartindent', the expand_cr behavior
doesn't end up producing the same results that you would get without
delimitMate. The following behavior results instead:

Before: {|}
After: {
		|
	}

The expected behavior is to produce the following:

Before: {|}
After: {
	|
}

To that end, detect when indentation is controlled by 'smartindent' and
adjust the indentation of the close line to match.
Allow custom regex for smart_quotes. Close #164.

- Use search() to match on the current line and remove most of the old
  code in IsSmartQuote().
- Allow using ! to negate the pattern.
- Add tests.
- s:s() :unlet variables before setting them.
Add a basic vimrc to help with tests.
Fix `'<CR><BS>`. Closes #178.
Add expand_inside_quotes to report and fix doc. Closes #179.
Merge pull request #180 from kballard/fix_expand_cr_smartindent

Fix expand_cr behavior with 'smartindent'
Merge remote-tracking branch 'upstream/master'