Use lexical-binding in delim-col.el and add tests

Thanks to Basil L. Contovounesios for additional cleanups.
For discussion, see the following thread:
https://lists.gnu.org/archive/html/emacs-devel/2019-05/msg00177.html

* lisp/delim-col.el: Use lexical-binding.

* test/lisp/delim-col-tests.el: New file.
(delim-col-tests-delimit-colummns-before-after)
(delim-col-tests-delimit-columns)
(delim-col-tests-delimit-columns-format/nil)
(delim-col-tests-delimit-columns-format/padding)
(delim-col-tests-delimit-columns-format/separator)
(delim-col-tests-delimit-columns-separator)
(delim-col-tests-delimit-columns-str-before-after)
(delim-col-tests-delimit-columns-str-separator)
(delim-col-tests-delimit-rectangle): New unit tests.
1 job for master in 6 minutes and 27 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Test
failed #1863
test-all

00:06:27

 
Name Stage Failure
failed
test-all Test
make[2]: *** [bootstrap-emacs.pdmp] Error 255
Makefile:807: recipe for target 'bootstrap-emacs.pdmp' failed
make[2]: Leaving directory '/builds/emacs/emacs/src'
Makefile:424: recipe for target 'src' failed
make[1]: *** [src] Error 2
make[1]: Leaving directory '/builds/emacs/emacs'
Makefile:1115: recipe for target 'bootstrap' failed
make: *** [bootstrap] Error 2
ERROR: Job failed: exit code 1