SCTX-1616: Ensure PBD.device_config:SRmaster never exists

This should never be part of the PBD record. Instead it is computed before each
SM call in (the internal function) Sm.__get_my_devconf_for_sr before being
passed to the SM driver. Having this field in the device config will mean that
the wrong value could be passed to the SM.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
CA-135187: Filter out restricted device_config keys

A commit fixing SCTX-1616 now causes PBD create to throw an error if given
a device_config with the SRmaster key in (internal use only).

However, if this happened to exist from a time when this was not forbidden then
pool join will fail since the slave uses the device_config from the master's
PBD record which might contain this key.

This commit filters this key out in the pool join code-path.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Merge pull request #1854 from Zhengchai/HFX-1206

HFX-1206: Pick CA-135187 and SCTX-1616 fix from Creedence to clearwater-sp1-lcm