Added survey compiler. Now reads JSON configuration from external file, compiles and loads into survey. Also added state saving for answers in the step model.