kwswitch cleanup

Hi @jnothman,

Thanks for your kwswitch contribution, and sorry it has taken me so long to get to it. I've suggested some fixes to your patch. If you're OK with them just merge and I'll merge your PR into hyperopt master.

N.B. That I'm now sorting the keys of the `**kwargs` to the kwswitch constructor. I'm not sure if the old way was buggy in combination with [de]serialization (which might change the order of the options to the switch) but sorting the keys feels more robust.