Replaced configobj with custom config file parser: parsec.

Addresses #562, #542, and possibly #212 and #511 (via jinja2).

Supports jinja2, parsing, validation, on-the-fly deprecation upgrade, site/user-style config combine/override.

 * compatible with existing cylc suite definition, site/user, and gcylc config files
    * test battery passes
 * jinja2 in suite, site/user, gcylc config files.
 * much leaner: net loss of ~7000 lines (4k code, 3k html)
 * much faster:  for Phil's 1250-task ensemble suite:

**current master**
```
% time cylc val phil
Suite phil is valid for cylc-5.3.0-141-gf80bc

real	0m14.226s
user	0m11.917s
sys	0m0.256s
```

**new branch**
```
oliverh@oliverh-34403DL:~/cylc % time cylc val phil
Suite phil is valid for cylc-5.3.0-142-g60a01

real	0m7.762s
user	0m6.752s
sys	0m0.168s
```

Probably a few rough edges to tidy up before merging, but I think this is close to being ready...