Add Function variable support

In recipe context, you can add python functions, like:

    def foo(d):
        print('foo called with %s'%(d,))

Later on, such functions can be uses as hook and task functions.

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
tests: Add test recipe for function parsing

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Add unittests for invalid List and Dict items

Signed-off-by: Esben Haabendal <esben@haabendal.dk>