More refactoring for FELIX-851:

* Modified locking protocol so that acquiring the global lock does not wait
  for bundle locks, although a thread with the global lock must still wait
  to lock bundles which are already locked.
* Modified acquiring a bundle lock so that it always throws an exception if
  the bundle is not in a desired state, which makes it so we don't have to
  do double-checking after acquiring the lock.
* Made bundle version available from IModule, which cleaned up some version
  handling in various places.
* Modified boot delegation parsing to occur once in Felix with results passed
  into modules so we only have one copy.


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@745200 13f79535-47bb-0310-9956-ffa450edef68
7 files changed