change presence conditions' semantics, re-implement erlang presence conditions
add the Guava library
add TODOs for boolean expression identities
extract conditional context
add initial macro definitions table implementation