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.
Reporting: better exception handling

Try to keep the try-except-blocks as small as possible.
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
doc: Add 1.3.6 release notes

Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Tools: Fix install of non-whitelisted services

Previously, a service restart would occur even when running in whitelist
mode without the service being present in the whitelist.

Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
testsuite: Fix tools __init__.py unit test

Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
doc: Add note about Decisions fix for 1.3.6

Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
doc: Fix typos

Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Options.py: Fix database OPTIONS parsing

Instead of parsing key/value pairs from bcfg2.conf, this allows the
setting of the literal value which is then passed through to django as
the value of the OPTIONS setting.

This change allows for setting arbitrary options since some settings
require nested dictionaries, etc.

Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
schemas/packages.xsd: add default value for debsrc