Added test for given vs expected arguments for primitives in compilation
logic.
Changed the error building in compilation logic of primitives to support
reporting of multiple errors, e.g. both errors in operands and
arguments.

Signed-off-by: Jakob Brandsborg Ehmsen <jakobehmsen.github@gmail.com>