move types into a common header
update includes and add repr funcs
add + and - symbolics support
simplify util converter
make | constraint operator reflexive
add additional utility functions
update constraint definition to match the C++ api
add Python Constraint type