Implemented support for composite/custom primary keys

See discussion @ #87