Add Variable filtering

Enable Variable filtering, by adding a filter() method on Variable
instances.  The filter() method should be called with Expression
instances, which accumulate.  If a Variable has at least one filter set,
at least one of the filters must evaluate to True.

Example (in recipe syntax):

    FOO = "native or compile foobar"
    FOO.filter(RECIPE_TYPE=='native')
    FOO.filter(TASK=='compile')

would filter the FOO Variable so that it is filtered unless RECIPE_TYPE is
'native' or TASK is 'compile'.

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