Fix handling of PyDev debug server ports

This resolves the issue of (within workflow) failing to connect
the Python Pydev actor to the debug server
Added locking for file readers.
Fixup for moving Python RPC into its own bundle
Merge Fixes to Python RPC moving around
DAWNSCI-736: Add helper to filter and format remote exceptions
Merge branch 'master' of github.com:DawnScience/dawn-common
ADMIN: Tidy manifest
Fix spelling error
Moved constants to slicing.
Added lazy function.
Corrected indentation.
Changed comment
Moved methods to analysis plugin
Moved method to analysis plugin
Migrated to using buckminster plugin:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Latest changes to the p2 site we use to populate the tp/ (target
platform) directory when you materialize Dawn/GDA/IDA etc using
Buckminster. 

Eclipse components:
•	No changes

Non-Eclipse components:
(1) Newer versions of components that were already available, with
bundle name unchanged (previous versions are still available)
•	No changes

(2) Newly added components
•	uk.ac.diamond.org.mihalis.opal  – version 0.9.5.2 is available. New
widgets for the SWT API.

The list of components that can be materialized is in the Infrastructure
Guide and has been updated with the above.

Note well: For many components, all versions are published to the same
p2 site (from where the target platform is populated). Therefore, where
your plugins declare a dependency on a tp/ component, you *must* specify
an exact version (or a version range). If you don’t, then a future
materialize might unexpectedly get a different, later, version of the
component. Note that this is best practice for declaring dependencies. 

Matthew
PyDev 2.8 upgrade
Upgrade to PyDev 3.0.0
Added constructor to limit depth of tree.
Moved gallery creation to delegate so that can do it in other places.
Prevented an NPE for SCI-1243