Great Variable parser rewrite

 - use BitGet monad
 - use Map for variables