Fixed #2205

Hello.
I made some fixes to `get_unicode_from_response` fixing #2205.
It now tries every encodings from meta tags by calling `get_encodings_from_content`.
Because encoding charset is case-insensitive by RFC 2616, encoding charset is appended to `tried_encodings` in lower case.

Can we please make `tried_encodings` a set? `in` on a list is `O(n)` iirc where as `in` for a set is `O(1)`. There *shouldn't* be a whole lot of encodings to try, but if we're not careful we could open someone using requests (e.g, naively on a server) up to a denial of service. If you want a more detailed example, I can comment with it, but we should be using sets if possible here.

For the record, it becomes

```python
tried_encodings = set()
```

and 

```python
tried_encodings.add(encoding.lower())
```

Instead of `tried_encodings.append`.