* Firstly , add all methods with no arguments, as these are very generic
to add, introduced a base class for them, where we know they all have
no effect or raise, as these functions are all guarantueed to succeed.
* This covers "str.capitalize", "str.upper", "str.lower", "str.swapcase",
"str.title", "str.isalnum", "str.isalpha", "str.isdigit", "str.islower",
"str.isupper", "str.isspace", "str.istitle" functions.
* Also add support for 'str.index', 'str.rindex' which is very similar
to 'str.find', just may raise an exception.
* Also add support for 'str.split' which will be used sometimes for code
needed to be compile time computed.
* Also add generated test to cover all str methods easily.
* This is of course Python2 only, and there is old code still using it.
* The dictionary "in" node was made reusable to make this easy, just
different evaluation order.
* Generation of nodes wasn't prepared for argument count specific functions yet.
* Add coverage of unhashable values at runtime and compile time to dict
methods test.