Meta-BDDs: A Decomposed Representation for Layered Symbolic Manipulation of Boolean Functions