set_eval_channel_type: skip the channel free/init if nothing is changed
Fixes trac ticket 1108: https://bugs.bitlbee.org/bitlbee/ticket/1108
I would have ignored that ticket (it's about some sort of legacy migration) but the fix sounds like a sane thing to do