kdev-python was assuming boolean operator expressions like foo or bar always returned bool, but Python defines them to always return the value of either variable depending on whether the first one is false-like. Thus, someString or "bar" should be interpreted as a string, not a boolean.
This commit makes such boolean operator expressions have a type of unsure(type(foo), type(bar)) instead. I also added new tests for this new behavior, and to ensure the good old True or False is still interpreted as a bool.