Add tslint as a plugin to tsc, so that they will show up in vscode or
whatever editor people use. I only enabled two basic rules that I think
are very useful, prefer-const and no-var-keyword. Violations of these
rules were fixed with "tslint -p . --fix". There was one unused
variable (in the isExpandable) function that I removed by hand.
A JavaScript string is a falsy value - but an empty string is valid in these positions - so need to explicitly check for undefined instead of just falsy.