patch Concord to allow arbitrary number of attributes

It's an artificial restriction, and our case doesn't require it. Technically
this is not what Concord is intended for, but it works so wonderfully I'm
willing to live with a little patch.
refactore #define_initializer! to use Concord
privatize #op_class in OpCompiler
extract InfixOperator inclusion to it's own method
document #infix?
remove #location alias from OpCompiler
remove #define_attribute_getters!, Concord does this for us