Fixed JENKINS-17199

To inject DSL into the script being parsed, the common technique used
elsewhere (for example in Spring bean builder Groovy DSL) is to set
the DSL object as a delegate. This avoids the need to do string
manipulation, and there's no ExpandoMetaClass hack necessary.

I'v moved the bindings to FlowDelegate. This resolves
the conflict between "build" as a variable and "build" as a function
(since binding gets found more quickly it tries to evaluate that
variable as a Callable), and it'll also make it easier for people to
find all the available DSL methods/variables in one place.