Added Queryset.first() and last() methods (#19326 on trac)

Hi there,

This pull request implements ``first`` and ``last`` queryset methods. You can find the relevant discussions on this topic here:

 * https://code.djangoproject.com/ticket/19326
 * https://groups.google.com/forum/?fromgroups=#!searchin/django-developers/get_default/django-developers/3RwDxWKPZ_A/mPtAlQ2b0DwJ
 * https://groups.google.com/forum/?fromgroups#!searchin/django-developers/first$20last/django-developers/iaOIvwzUhx4/x5wKtl7Bh2sJ

Let me know if there's anything you want me to change.

Best,
Selwin