Minimize the number of Twitter API calls

Before, the API was called repeatedly for each week.

Optimise this process by looping over all tweets and picking the wanted
weeks. The `groupby()` function collects one week's tweets so they can be
passed to class `Week` as one batch.

Because the tweets arrive chronologically, the dates must also be
sorted, otherwise the termination and skip criteria wouldn't work.
Isolate the `_ignore()` predicate

This allows to simplify the `Week` constructor because it's no longer
necessary to create a `Tweet` instance to get the tweet source.
Don't truncate retweets

Always use the text from the original tweet to avoid truncation.