Possible support for connection retry?
Rather than adding this to Peewee itself, I'd suggest you write your own wrapper that does what you want:

``` python
from peewee import *
import time

db = PostgresqlDatabase('whatever')

def connect_db(retries=3, delay=5):
    while True:
        retries -= 1
        try:
            db.connect()
        except OperationalError:
            if retries == 0:
                raise
            time.sleep(delay)
        else:
            return True
```
 Since we're using a `Proxy`, how would we override the `connect` call (or would we have to just make sure to call our own connect first everytime)?
 Using the function from above, I imagine you would just write:

``` python
def connect_db(db, retries=3, delay=5):
    while True:
        retries -= 1
        try:
            db.connect()
        except OperationalError:
            if retries == 0:
                raise
            time.sleep(delay)
        else:
            return True

class ReconnectingProxy(Proxy):
    def connect(self):
        return connect_db(self.obj)

database = ReconnectingProxy()
database.initialize(some_other_db)
```

We occasionally have servers failing to connect to the database due to sporadic networking issues with our service provider. Our service provider is currently investigating these issues, but until solved this leaves us having a few DB connections here and there fail.

I'm curious on thoughts about adding the ability to retry connecting to the database a specified number of times (probably 3 and with some form of backoff?), after which the exception would be bubbled up out of the call as it currently does. This would be user-configurable, perhaps on the `initialize` call of the `Proxy`.

Admittedly, not a great solution, but it would help in the short term and for software working in areas with less than stable networks.
