Wildcard * does not act as "none or some characters", but as "some characters"
With SQLite the `%` operator (case-sensitive like) actually uses the `GLOB` operation which is why it requires you use `*` as the wildcard.  The `**` operator (case-insensitive like) uses `LIKE`.  Confusing, right?

Based on this script, I believe the "*" character is matching zero or more.  Does it work for you?

``` python
from peewee import *

db = SqliteDatabase(':memory:')

class TestModel(Model):
    name = CharField()

names = ['foo', 'bar', 'baz']

TestModel.create_table()
for name in names:
    TestModel.create(name=name)

assert TestModel.get(TestModel.name % '*foo*').name == 'foo'
assert TestModel.get(TestModel.name % 'foo*').name == 'foo'
assert TestModel.get(TestModel.name % '*ba*').name in ('bar', 'baz')
```
 Try:

```
  name = CharField(max_length=3)
```

PeeWee seems to strip the search string for (including the wildcard) according to the max_length attribute
 @arnuschky -- Ahhh, good catch.

The following select (on SQLite):

   User.select().where(User.name % "_joe_")

does not work if user name is exactly "joe". The wildcard does not act as "none or some characters", but as "some characters". (And thus behaves just like the '+' of regular expressions.)
