Fix CLI test failing to remove temporary folder

The 'create new vault with relative path' test was trying to
remove the folder 'newvault' from the current working dir
but the folder is called 'newvault.agilekeychain' since the CLI
app automatically adds an extension indicating the
vault type to the provided path when creating a new vault.
Fix tslint errors
Improve item list re-rendering performance

Avoid re-rendering visible items that have not changed and
optimize list item creation by removing unnecessary call
to url_util.domain(), which was using a slow url.parse() implementation.

Also optimize url_util.domain() with a much cheaper approach which
is good enough for the needs of this app.
Add better typings for react-style

These typings have been submitted upstream in
https://github.com/js-next/react-style/pull/55