Block Bad Peers

This does the following actions to enable blocking of bad peers:
1. Creates new database table called blocked_peers
2. You can now block a store from a button on their storefront
3. In Settings there is now a Blocked Peers tab on the left and it shows all the blocked peers you have and you can unblock them from there as well.
4. Blocked peers can still route using your peer but they will no longer show up in the UI

I'd love if @SamPatt and @dionyziz tried this out since they were curious about it. Reviewing is as normal.
The formatting looks confusing. Since the `peer.pub` is used both as value and as condition, I suggest dropping the inline `if`s and leverage the lazy nature of `or` (return the second argument if the first one evaluates to `False`):
```python
response = {
    'type': 'peer',
    'pubkey': peer.pub or 'unknown',
    'guid': peer.guid or '',
    'uri': peer.address
}
```