Major elisp client rewrite, with better modularization and tests, in progress.