Convert ecash-herald to typescript
There was not a clear path to doing this incrementally so just did it all. It's messy. Uncovered some bugs that had to be fixed in line with this diff.
Assurance of consistent app performance with passing tests. Will be much easier to work with going forward.