Discard duplicates in merged dep conditional
Discard duplicates in merged dep conditional

Newt merges conditional dependencies into a single dependency.  For
example, newt transforms the following:

    pkg.deps.SETTING_A:
        - my_package

    pkg.deps.SETTING_B:
        - my_package

into:

    pkg.deps.'(SETTING_A || SETTING B):
        - my_package

(internally)

This allows a `pkg.yml` file to declare separate conditions under which
a package gets pulled in, rather than requiring the user to manually
collapse them all into a single expression.

The bug is that sometimes newt would add duplicate expressions to the
merged expression, e.g.,

    pkg.deps.'((SETTING_A || SETTING_B) || SETTING_B)'

The resulting dependency graph is unchanged, but the text in the log and
in the dep / revdep commands was ugly and confusing.

The problem was that newt was not always normalizing each expression
before comparing it to the previously-seen expressions.  If an
expression contained extra whitespace, it would not compare equal to the
equivalent whitespace-free expression. This commit fixes this issue by
always normalizing conditionals before storing them.

apache/incubator-mynewt-newt,apache/incubator-mynewt-newt