Cleanup ctkWorkflowButtonBoxWidget

* factorize/simplify code
* add comments
* use deleteLater instead of delete:
deleteLater is safer. It only deletes the object next time it gets into
the event loop again. There is then no danger of having a slot trying to
access the deleted object. See:
http://stackoverflow.com/questions/4888189/how-delete-and-deletelater-works-wrt-to-signals-and-slots-in-qt
Add ctkWorkflowButtonBoxWidget::HideGoToButtons

Give the option to hide the "Finish" button
Fix ctkWorkflowButtonBoxWidget button size policy

When a button had an icon (i.e. back or next), its height is higher than
the buttons with no icon. It was creating buttons with different sizes
which was looking unbalanced.
Add ctkPushButton, an advanced QPushButton

For now, it controls the text and icon alignments.
Fix workflow next button arrow and text

Only ctkPushButton can properly align the icon to the right of the text.
Add ctkWorkflowButtonBoxWidget::[back|next|goTo]ButtonFormat

Give the option to dynamically configure the text, icon and tooltip
of the back, next and finish buttons.

Expose ctkWorkflowWidgetStep::name, description, statusText
into qt meta-object system to be accessible from QObject::property()

Co-authored-by: Johan Andruejol <johan.andruejol@kitware.com>
Add ctkWorkflowGroupBox::titleFormat, subTitleFormat and errorTextFormat

Give the option to configure the look of the ctkWorkflowGroupBox items.
Add ctkWorkflowStep* ctkWorkflow::step(QString)

Convenient method to search and return a step. This can be useful when a
step needs knowledge of another step.
Improve look&feel of ctkWorkflowGroupBox

* no internal margin around the step widget
Merge remote-tracking branch 'vovythevov/ctkworkflow-tweaks'

* vovythevov/ctkworkflow-tweaks:
  Improve look&feel of ctkWorkflowGroupBox
  Add ctkWorkflowStep* ctkWorkflow::step(QString)
  Add ctkWorkflowGroupBox::titleFormat, subTitleFormat and errorTextFormat
  Add ctkWorkflowButtonBoxWidget::[back|next|goTo]ButtonFormat
  Fix workflow next button arrow and text
  Add ctkPushButton, an advanced QPushButton
  Fix ctkWorkflowButtonBoxWidget button size policy
  Add ctkWorkflowButtonBoxWidget::HideGoToButtons
  Cleanup ctkWorkflowButtonBoxWidget