Overhaul of parameter system

Refactored the parameter system out of the ScopeSync class into a
BCMParameter class and most of the usage has changed to refer to
BCMParameter objects, rather than going via paramIdx.
Fixed snapshot issue

Was also a problem for ScopeLocal parameters, which is fixed too now.
Outstanding issue regarding CP<>Host functionality to be investigated.