Use pickle protocol 0 and use lambda for sorted key to avoid unicode problem for str.lower