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>
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 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
If a service name ends with .service, .socket, or .target, do not
automatically add ".service" to the end when calling systemctl.
This change allows users to manage sockets and targets using systemctl.
Add docstring for new function.
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).
Server/Plugins/ALC: do not require a name attribute