cylc/cylc — pull request #610 by hjoliver (2013-08-01 04:43:32+00:00)
Title: Replaced configobj with custom config file parser: parsec.

Addresses #562, #542, and possibly #212? (jinja2 can now be used in all cylc config files).

Configobj replacement, "parsec", supports parsing, validation, on-the-fly upgrade of deprecated items, and site/user-style config combine/override.

* compatible with existing cylc suite definition, site/user, and gcylc config files
* test battery passes
* much leaner: net loss of ~7600 lines (5000 code, 2.5k 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**
```
% cylc val phil
Suite phil is valid for cylc-5.3.0-142-g60a01
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...