added afterRender functionality to if, ifnot and with bindings

The changes in here add `afterRender`-callback hooks to `if`, `ifnot` and `with` bindings. Currently, only `template` and `forEach` offer this functionality. The usage would be for example:

    "<div data-bind='if: someObservable, afterRender: myAfterRender'>Hello there</div>"

Unit-tests for the new functionality are included. The syntax is now in line with Michael Best's suggestion in #421.

fixes #421