Use intl-messageformat-parser

This depends on the new `intl-messageformat-parser` and uses the new AST format. The changes here are mainly organizational and an updated compiler to work with the new AST format and be more in line with the ICU message format "spec".