Port Griffon's ConfigReader enhancements back to Groovy's ConfigSlurper.

configSlurper now has the ability to support multiple conditional blocks, not just 'environments'.
The 'environments' block is still set as the default conditional if none is specified. These patch
also allows for nested conditionals, for example

    projects { // conditional
        sample {
            environments { // conditional
                test { ... }
                prod { ... }
            }
        }
        experimental { ... }
    }

The aforementioned script can be parsed with

    ConfigSlurper slurper = new ConfigSlurper()
    slurper.registerConditionalBlock('projects', 'sample')
    slurper.registerConditionalBlock('environments', 'prod')
    ConfigObject config = slurper.parse(theScript)
GROOVY-3328: Automatic imports for selected text execution

Created pull request to of suggested solution by Jose Osinde and test by Sergey Bondarenko
Move currentConditionalBlock to method variable
Merge pull request #278 from PascalSchumacher/GROOVY-3328

GROOVY-3328: Automatic imports for selected text execution
Merge pull request #262 from aalmiray/feature_configslurper

Port Griffon's ConfigReader enhancements back to Groovy's ConfigSlurper.