added implementation of keygroup and some tests
simplified, guarantee non null
simplified recursive lookup
use guava
less redundant names
added recursive put method
first draft visitor based parser