[Feature] Use cursors to navigate collections.

Using pagination is not the only way to navigate collections and when you're dealing with big sets of data you've to find creative ways. One of this ways is using cursors and I'm sure it will be useful to others.

```php
use League\Fractal\Cursor\Cursor;
use League\Fractal\Resource\Collection;

$users = new User;

if ($current = Input::get('cursor', false)) {
    $users = $users->where('id', '>', $current);
}

$users = $users->take(5)->get();

$cursor = new Cursor($current, $users->last()->id, $users->count());

$resource = new Collection($users, new UserTransformer);
$resource->setCursor($cursor);
```

When requesting `GET /users` we will get:

```json
{
    "data": [
        {
            "id": 1,
            "name": "Isern Palaus"
        },
        {
            "id": 2,
            "name": "Lorem Ipsum"
        },
        {
            "id": 3,
            "name": "Javi Martinez"
        },
        {
            "id": 4,
            "name": "lowe.yasmin"
        },
        {
            "id": 5,
            "name": "abshire.durward"
        }
    ],
    "cursor": {
        "current": 0,
        "next": 5,
        "count": 5
    }
}
```

If we request `GET /users?cursor=5`:

```json
{
    "data": [
        {
            "id": 6,
            "name": "Lennie Raynor PhD"
        },
        {
            "id": 7,
            "name": "Duncan Raynor"
        },
        {
            "id": 8,
            "name": "clockman"
        },
        {
            "id": 9,
            "name": "Gerard Marks DDS"
        },
        {
            "id": 10,
            "name": "josefina32"
        }
    ],
    "cursor": {
        "current": 5,
        "next": 10,
        "count": 5
    }
}
```

I'm not sure if `Cursor` is the best name for the `CursorInterface` implementation. I'm open to any name suggestions and typos.