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.
I discovered that self.context.pidfile.read_pid() can return None, causing os.kill to throw a TypeError.   This causes the startup to throw a stack trace like the following:

Starting Configuration Report Collector: Traceback (most recent call last):
  File "/usr/sbin/bcfg2-report-collector", line 37, in ?
    sys.exit(main())
  File "/usr/sbin/bcfg2-report-collector", line 27, in main
    collector.run()
  File "/usr/lib/python2.4/site-packages/Bcfg2/Reporting/Collector.py", line 133, in run
    os.kill(self.context.pidfile.read_pid(), 0)

I changed the except clause associated with this block to 

except (OSError, TypeError):

and all was well.