normalize unicode safely

Don't let the client specify where to use various normalization algorithms. Command structs should be typed to accept the appropriate string derivatives.