Use an instance instead of a dictionary for configuration.

This is more like a proper programming API and means that
mk_openbsd_plists.py can use this directly.

Squashed commit of the following:

commit 4fb29c70fe57d8e17c366e8516caa530ddbf35e0
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 17:03:28 2013 +0000

    Bye old openbsd plist thingo.

commit ef288d697149d3896d31aec8918aedaa7791a7b8
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 17:01:17 2013 +0000

    New openbsd plist script that uses the new API.

commit fc0ec72c835d6d19a26b2edefaa9b6c31f269682
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 16:32:57 2013 +0000

    Change config.inc/exc_pkgs to inc/exc_pkgspecs

commit f8b9d0a9282554d677883a0e55b08466e3847f92
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 16:17:17 2013 +0000

    Protect the Config instance's namespace.

    Means that it becomes harder to mistype field names.

commit 9defd35bcdb53c6447e8335bbe87b9ada705766a
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 16:03:33 2013 +0000

    Last of tests to use Config instance.

commit 63bc38b84a6ee30da96861d53df789f3fac46d63
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 16:00:08 2013 +0000

    Regex tests to use the new Config instance API.

commit 8d465b0126cb8db9112fb40a361d9b7c5d8326ae
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 15:49:31 2013 +0000

    Yet more tests using the new Config interface.

commit 857231027cbce6be69be869912c46f980c48fd23
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 15:44:54 2013 +0000

    More tests using new Config interface.

commit 843f63f18e8aae5e50ebf66b499f328d55fd4783
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 15:39:36 2013 +0000

    More tests using the Config instance.

commit e53e8511ee5dac50e1a3cd5046fd09bf279fbd6d
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 15:26:26 2013 +0000

    Make subsetter use Config instances. Begin fixing tests.

commit a8d02f674f6b9aa0f7b73a60734db9eb8f2ccd3c
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 14:28:42 2013 +0000

    Begin refactoring.

    Use a Config instance instead of this messy dict. Make this work for --initdb.

commit 8ec9bde6dde349925557de7b033b38a76bda320c
Author: Edd Barrett <vext01@gmail.com>
Date:   Thu Nov 21 14:01:22 2013 +0000

    Adjust shebang