Take changes from #1351 and apply to 3.0
Note: array binding is now working
accounting for array indices in brack notation regular expression
more binding tests and tutorial showing complex bindings