Page QuerySet

This pull request adds a custom queryset and manager to Page to provide some useful extra methods.

Some examples...

Select all live blog posts

    Page.objects.descendant_of(blog_index).type(BlogEntry).live()

Select pages in a particular tree but not in a subtree of that tree

    Page.objects.descendant_of(event_index).not_descendant_of(past_events).live()

As it inherits from django queryset, all the methods that provides are available to you

    Page.objects.descendant_of(event_index).filter(start_date=datetime.today()).live().order_by('start_time')

You can also combine them

    (Page.objects.descendant_of(event_index) | Page.objects.descendant_of(blog_index)).live()