Merge pull request #6 from esben/master

Improvements to data model
Split parse_statement() into more methods

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Fix bug in unittest (duplicate method name)

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Minor Variable __init__() cleanup

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
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>
Add astunparse to Travis CI install dependencies

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