Sdl2 support realligned to master

I know it looks scary. Basically I did 3 things:

1. merged my fixes from #1962, which basically make dictstore unit tests work again (so perhaps look at that first
2. git merges master from within sdl2-support
3. fixes merge conflicts causged by sdl2-support's `setup.py` and `kivy/core/clipboard/__init__.py` files. 

Everything else seems to be a case of the sdl2-support branch not getting much love and staying synced with master.