Fixes#122
Had used multiple actions for some transitions, which would lead to brief intermediary states.
Now making a few actions much more explicit about what they route to, so there is less intermediary logic, and we can transition confidently to the correct view.
The styles that defined the `account-panel` component now belong to the `panel` component, which is now used by the `account-panel` component for its styles.
It accepts an optional `onClick` property that it will fire when clicked!
Planning to use it for the tx-list.
Account detail view now has an animated transitioning `subview` section that allows us to show extra details within it.
Clicking `export` now slide replaces the transaction list with the export UI.
Added cancel/done/submit buttons to the Export UI. Done submits like Enter did, the other two transition back to the transaction list.
For some reason when first unlocking, the selected account is being instantly replaced with the accounts list, so I need to fix that before merging this into master.
Calls to `eth.sign` are now transiently persisted in memory, and displayed in a chronological stack with pending transactions (which are still persisted to disk).
This allows the user a method to sign/cancel transactions even if they miss the Chrome notification.
Improved a lot of the view routing, to avoid cases where routes would show an empty account view, or transition to the accounts list when it shouldn't.
Broke the transaction approval view into a couple components so messages and transactions could have their own templates.
When starting up, we now create a `web3` inside the `background.js` process, which we pass to the `idStore` and ask for the current `network`.
We include the `network` on `app.metamask.network` in the state object.
We re-request the network when changing provider.
We filter the transaction list for transactions that match the current network.