Options/Types: add abbility to set empty lists

We have some lists with default values, so someone maybe want to set an empty
list from the config. Previously this was not possible, because an empty string
results in a list with an empty string as element. This fixes this problem.
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
Reporting/Collector: fix semaphore initialization
Merge pull request #233 from AlexanderS/fix-list-options

Options/Types: add abbility to set empty lists