Fix recipe_file dump() to something else than stdout

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Basic string variable support

This adds support for string variables to the data model and parser.

In recipe files, you can do things like

    FOOBAR = 'foo'
    FOOBAR.append('bar')
and
    FOO = 'foo'
    FOOBAR = String('%sbar'%(FOO))

which both will result in FOOBAR variable being 'foobar'.

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

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

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