New command: show

Initial implementation for command to select, parse, and show recipe data.
This initial implementation does not actually parsen and show the recipe
data.

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Very basic parser and show command

This initial parser implementation is only able to handle simple
assignment statements.  There is no rich variable model implementation, no
error handling, and no a-lot-of-things.  It is really not much more than a
stub.

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>
Fix parser default output handling

To be compatible with unittest sys.stdout mocking, evaluation of sys.stdout
must be delayed to when the function is called.

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

Signed-off-by: Esben Haabendal <esben@haabendal.dk>
Merge pull request #3 from esben/show-command

Show command and basic string variable and parser support