Add support for more binary ops in enum definitions.
Created originally on Bitbucket by codypiersall (Cody Piersall)
Was already merged in Bitbucket before import, marked as merged by the import user
Adds support for the rest of the binary operations in enum definitions: +, -, *, /, <<, >>, ^, &, |.
Also adds tests.