Fixes for as constructor, type printing

Three fixes:
* `(as term type)` was not well parsed in the default case
* if a `kind::SORT_TYPE` doesn't have a `VarNameAttr` the `return` was not taken and the node printing was used which result in bad thing when `--print-expr-types` was used (a type is not type-checkable `Unhandled case`)
* The sub-term of a type were not printed, only the toplevel constructor.

PS: sorry for not rebasing it on master but the build system doesn't produce the cvc4 binary in master on my computer.