testsuite: Added unit tests for new option parsing
testsuite: skip nested exclusive option group test on py2.6
Test failure to parse config file when bcfg2.conf exists
testsuite: capture stderr by default

This quiets down a lot of tests, especially for option parsing.
testsuite: Added unit tests for new option parsing
fixed some places where plugin loading should fail silently
call shutdown on subcommand registries
testsuite: better debug capturing for options tests
DBSettings: fix up <repository> in database name
Options: ensure <repository> macros are always fixed up

This fixes several cases in which <repository> macros would not be
properly processed: options that are not added to the parser yet when
early options are parsed; and config file options whose default value
is used.
testsuite: unlink temporary files

This cleans up the temporary config files created by the option
parsing unit tests. Courtesy Alexander Sulfrian.
Options: fix path canonicalization and file-like objects

This fixes canonicalizing PathOption values when the default value of
a config file-only option is used. It also fixes PathOptions that get
a file-like object instead of a filename string.
Options: gather as much data from config file first
Options: further command registry fixes

This updates the documentation for some of the recent changes to
subcommand handling, and ensures that the server core is shut down by
bcfg2-info.
Options: Fixed non-path database name parsing

The database name is sometimes a path (SQLite) and sometimes not
(MySQL, PostgreSQL). This introduces a new Option type,
RepositoryMacroOption, that expands <repository> macros without
canonicalizing the path, so SQLite users can use <repository> in their
settings but MySQL users' database name settings will not be destroyed
by path canonicalization.

The unfortunate downside is that SQLite users can't use ~ in their
database name.
removed duplicate plugins option
Merge pull request #211 from stpierre/options-unit-tests

Options unit tests