Add internal ProcessObject method to remove command from process

Change-Id: I6c5518149f9fe248080fbeb9d722ec93fd981d01
Rename ProcessObject::PreUpdateAddObserver to AddITKObserver

The user overridden method is named more generically and the process
object removed from the arguments.

Change-Id: Ib15bdcbdb0fa1765cb45a43a9c997ee0454fea55
Assume process object when AddObserverToActiveProcessObject

Add as a prerequisite that the m_ProcessObject exists when this method
is called. An assert is used to verify this in debug mode. This

Change-Id: I2e28b549ec7d45540174640e495a13e72619884e
Make private EventCommand structure in ProcessObject

This will allow this object to be passed as an argument to user
overridden methods.

Change-Id: I811e051ceca4e9bdf8b9a9a36a6ef140a94377cd
Add ProcessObject::RemoveObserver method

This method can be overridden by derived classes.

Change-Id: Ic4aef69c509306c155342e04e34e5e46e064a400
Remove dynamic allocation for un-freed command

Change-Id: Iaf3c693d827fc268ce6db926d52e49a2984387d5
Merge topic 'SIMPLEITK-525_EnableDeletionOfCommandProcessExists' into next

8094a703 Remove dynamic allocation for un-freed command
6c882edd Add ProcessObject::RemoveObserver method
bbef09ce Make private EventCommand structure in ProcessObject
f1aa1c89 Assume process object when AddObserverToActiveProcessObject
fbf3f863 Rename ProcessObject::PreUpdateAddObserver to AddITKObserver
b81309ac Add internal ProcessObject method to remove command from process