multiple value assoc and checkargs accepts even/odd

assoc would accept any even amount of assignments. So it can

    (assoc col "a" 1 "b" 2 "c" 3)

instead of:

    (assoc col "a" 1)
    (assoc col "b" 2)
    (assoc col "c" 3)

Also added even=None/True/False to check for Nothing/Even/Odd amount of arguments