slug length counter bumps slug over max_length limit

When creating multiple videos with the same title, the unique counter appended to the slug bumps the entire thing over the max_length of 50 chars. related to #249
Sorry--I didn't see that part of the discussion.

Bringing that code here:

```
def generate_unique_slug(obj, slug_from, slug_field='slug'):
    """ generate slug with a trailing counter to prevent name collision """

    max_length = obj.__class__._meta.get_field(slug_field).max_length
    text = getattr(obj, slug_from)[:max_length-3]
    slug = slugify(text_type(text))

    d = {'{}__startswith'.format(slug_field): slug}
    collisions = len(obj.__class__.objects.filter(**d))

    if collisions == 0:
        return slug

    if collisions > 98:
        # sanity check: prevent new slug if 99 previous slugs already exist.
        raise ValueError('No valid slugs available.')

    return u'{}-{}'.format(text, collisions+1)
```

So... We don't know if the slug has the number at the end because we added it for uniqueness or if it's part of a date or something else. Thus we don't know if the set of existing slugs that look kind of like that is a sparse set or not. I think this code has edge cases we don't want to deal with. Instead of pulling back a count, you could pull back all the existing slugs, stick that in a dict for fast lookup, and then check that instead of doing a db hit. That'd work.

Do you want to try out those changes?