Add valid function to the policy parser

This new valid function accepts any number of arguments and returns
True when none of the arguments evaluates to nil (None). It returns
False in all other cases.

The Common Lisp way of doing this is by using higher order functions
like this:

(every #'null my-list)

Our parser lacks support for such constructs so I decided to add
the new function.

This will allow us to escape parts of the policy with checks for
the presence of optional collector fields.

For example:

(if (valid guest.balloon_min guest.balloon_cur) (process_ballooning))

Change-Id: I5aa31886811593860c75cf13bf7743e85fde7358
Related-To: https://bugzilla.redhat.com/1143992
Signed-off-by: Martin Sivak <msivak@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/34791
Reviewed-by: Adam Litke <alitke@redhat.com>