Attempt to break the pid lock during startup.

This commit attempts to break the pidfilelock during startup in cases where the
process may have exited without successfully cleaning up the lockfile. It also
attempts to grab the lock before opening the context. Also applied to the
Collector module, which may have been looking for the wrong exception since it
does not rely on a timeout.
pylint fixes.
Fixes to ensure pidfile can be opened or broken if stale.
Catch possible typeerror resulting from None being returned when reading the pid.
Remove PIDFileError as it does not always exist in the package and is rarely used.
Reporting: fix filter urls

The regex match for the filter urls were to strict. They disallowed
some charaters, that are valid in group names and so the django reverse
mechanism for building urls failed.
Proxy.py: Pass through SSL protocol option

Previously we were not passing through the SSL protocol specified in the
client's bcfg2.conf which caused it to unconditionally be set to
xmlrpc/ssl. While this appears to automagically work with newer versions
of openssl, the version in e.g. centos5 will fail if the server is set
to use TLSv1.

This commit passes through the setting from the client's bcfg2.conf so
that older clients can talk to servers which are set to TLSv1 (in order
to mitigate the effects of POODLE).

Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
YUM: Add options to enable and disable Yum plugins

Adds two options you can define:
* disabled_plugins: A comma-separated list of plugins to disable
* enabled_plugins: A comma-separated list of plugins to enable

This allows you to run bcfg2 with certain plugins enabled or disabled
when they're not set that way in the yum configuration.  This is
useful because the Bcfg2 YUM plugin is initialized before it can read
in any files that might overwrite yum plugin configuration.
Packages: add name to sources
Packages: add name to additional_data for Sources
Reporting: better exception handling

Try to keep the try-except-blocks as small as possible.
Merge pull request #215 from jsbillings/yum-plugin

YUM: Add options to enable and disable Yum plugins
Merge branch 'ssl-protocol-fix' of github.com:solj/bcfg2 into maint
Merge branch 'add-name-for-sources' of https://github.com/AlexanderS/bcfg2 into maint
Merge branch 'reporting-fix-filter' of https://github.com/AlexanderS/bcfg2 into maint
Merge branch 'cleanup_pidfile' of https://github.com/mattikus/bcfg2 into maint
Server/Core: also shutdown on exceptions during fam blocking

Previously the server got stuck, if a keyboard interrupt occured during
block_for_fam_events. The KeyboardInterrupt exception was only handled
in the executable and it does not call shutdown for the Core. So the
running fam thread does not get killed and the main thread waits for it.
Merge pull request #222 from AlexanderS/fix-keyboard-interrupt

Server/Core: also shutdown on exceptions during fam blocking
fix keyboard interrupt during intial event handling

This removes some wildcard except handler because this drops some
KeyboardInterrupt exceptions (for example previously a KeyboardInterrupt
during the loading of the cache for Packages resulted in a fallback to
file read).
Merge pull request #223 from AlexanderS/fix-keyboard-interrupt

fix keyboard interrupt during intial event handling