Improve enum option interface.
It is no longer necessary to have explicit NULL terminating arrays
passed to StringOption::enumValue(). Instead, let the compiler deduce
the size of the array. Reduces the potential for coding mistakes, as it
is now impossible to forget to terminate the array.
Added a separate enumValueFromNullTerminatedArray() for those rare cases
where the array is programmatically constructed or the compiler for
other reasons doesn't know its size at compile time.
Change-Id: I5e7d63db1eeea6d9d271fa299c98c781f52bd89c