Closes #34: redesigned `autopair-up-list', `autopair-pair-p` and `autopair-skip-p`

- All existing tests pass.
- Respecified one test: autopairing at the beginning of "(])" should happen as it reduces unbalance.
- Now relies purely on `forward-sexp` functions (no more `scan-sexps`),
- Should work with such functions defined with SMIE.
- Leverages paren.el's show-paren-data-function to find matching delimiter
- Probably only works on recent emacsen (24.3 onwards).

More refactorings possible, namely narrowing buffer to the
string/comment when inside such constructs.