action: simplify Check* functions

Instead of using those t1 t2 variables, pass the final destinations
directly (while making sure they are not modified in case of error).

This also ensures the types are right, e.g. in CheckGroupField it should
be int32_t, not xkb_layout_index_t (and indeed it takes a negation!).

Signed-off-by: Ran Benita <ran234@gmail.com>
ast: cast to ParseCommon explictly instead of using ->common

Some tools were getting mighty confused with what we were doing.

Signed-off-by: Ran Benita <ran234@gmail.com>