Fixes #890
Fixes #925
Fixes #940
Fixes #943
Fixes #944
Fixes #945
Looks reasonable to me.
Thanks :)
Pull-Request has been merged by pingou
Fixes #890
Fixes #925
Fixes #940
Fixes #943
Fixes #944
Fixes #945