Multidict WIP

Continued work on multidict, updated multidict tests.
Some tests sometimes fall, possibly due to elements order. Work in progress
You could also break product in the middle. That's what I suggested:

```
for key, (k, v) in itertools.product(self._keys, items):
  if key == k:
    items_to_use.append((k, v))
    break
```