refactor: migrating to typescript (#521)

* init typescript settings

* change let to const

* use typescript strict

* update lint config for typescript

* update lint config for typescript

* upgrade to react-navigation v4 and use typed navigator

* add required dependency for react navigation

* update with eslint and App.tsx

* following merging

* refactor buttons

* refactor

* stash

* add types for networks specs

* fix add legacy account error

* update typescript configs

* refactor identity and account stores

* hoc.js to typescript

* refactor main landing page

* complete identity utils and account store

* renaming files

* refactor components and payloads component

* refactor all the components and scanner store

* fix typescript compiler errors

* rename alls screens

* refactor screens

* refactor all the screens

* fix typescript compiler errors

* fixed compiler and lint error

* reorder files and use path alias

* reoder imports

* ignore jest caches

* integrate typescript with jest

* integrate e2e test

* update travis config and readme

* remove logs and comments

* delete redundant line

* fix scanner name

* multi signing fix

* add default catch

* use await to avoid async problem and remove one warning with source.uri

* use path alias of e2e and utils

* imporve sign button display in small screen

* hide path derivation option for ethereum account

* fix path display error

* fix ethereum delete problem

* imporve navigation

* upgrade react navigation to resolve bug

* add react hooks lint

* fix missing icon bug
2 jobs for master in 2 minutes and 17 seconds (queued for 1 minute and 27 seconds)