Queue-like interface for getting tasks from MongoDB

Description

Create a task queue package which allows retrieving tasks from MongoDB collection tasks with the older tasks being retrieved first (FIFO).

The package should satisfy the following interface:

type Queue interface { Poll(ctx context.Context) ([]*task.Task, error) Ack(ctx context.Context, taskID string) error Unack(ctx context.Context, taskID string) error6 }