QLKCue storage system revised

...to use a dictionary instead of instance variables. Common fields now have deprecated accessors for partial backwards-compatibility (name, uid, listName, number, flagged, type, notes); the recommended method (and only one, for other fields) is QLKCue::propertyForKey:. Additionally, the push-model for altering cues via a remote application has been reorganized such that an application can use a reference to a QLKCue and use QLKCue::setProperty:forKey:doUpdateOSC: to alter the local data of a cue as well as push-through the change to the server. NOTE: quaternion, surfaceSize, cueSize primitives retrieved by instance methods, as propertyForKey: only returns of type id.
*also moved external declarations to the QLKDefines class.