Add simple size-limited cache to avoid parsing of unchanged scripts

A simple cache is added to ```GroovyScript```, which allows reusing the parsed results of the last 10 script sources. As the parsed Script can not be used by more than one thread at the same time, a ```ConcurrentLinkedQueue``` is used as a pool of compiled ```Script``` objects.

The speeds up the response time for unchanged scripts, which is quite noticable when used e.g. in combination with the REST access as proposed with PR #15.