Use immutable collections for user options

Cleaner (I hope) solution for https://github.com/zanata/zanata-client/pull/17