Improve share driver mode setting

Method of share driver interface 'get_driver_mode' expects one param with list
of supported driver modes. But in most cases, only one mode is supported by
share drivers. This will cause redundant wrapping in list of one value.
Make method 'get_driver_mode' expect either text_type with one value or
list/tuple with any amount of values. Add unit test coverage for variety of
newly added positive and negative cases.

Change-Id: Ieccf7c8899f7f06730b7533a1a6b45bbec28a97a
Merge "Improve share driver mode setting"