Squashed commit of the following:

commit 49143fdbb323caa4a1a671872c36bab62c4da627
Merge: 0072ed8 6e43eba
Author: manne ohrstrom <manne@shotgunsoftware.com>
Date:   Wed Sep 18 23:29:05 2013 +0100

    Merge branch 'master' into 22962_custom_step

commit 0072ed863be17a46b1e9083ec0d364f12a8669b1
Author: manne ohrstrom <manne@shotgunsoftware.com>
Date:   Tue Sep 17 19:02:16 2013 +0100

    Removed stray print statement.

commit 793056eb4edf24b2f98e3bc569be90289e02b5a5
Author: manne ohrstrom <manne@shotgunsoftware.com>
Date:   Mon Sep 16 14:02:04 2013 +0100

    #22962 Added unit tests.

commit ad1e33129ae70b8920fd3a9e31a5ec45fad3bfac
Author: manne ohrstrom <manne@shotgunsoftware.com>
Date:   Mon Sep 16 13:50:10 2013 +0100

    #22962 Added new interface parameters and ability to customize.

commit 533d122b34a88e3d69bf17a797da60e8d31edb93
Author: manne ohrstrom <manne@shotgunsoftware.com>
Date:   Mon Sep 16 12:05:02 2013 +0100

    #22962 Pass 1: Refactored existing code to allow for custom steps.