initial checkin of extracted geom-core sub-project only containing protocol defs and refactored vectors, matrices & quaternion impls

Quat4 now implements same Clojure protocols as Vec2/3
Vec2/3 & Quat4 have no more metadata support
refactored swizzling fns, add swizzle for Quat4
move & update existing tests from parent into new sub project
addresses #3 refactor matrix types as deftype, but still need standard clojure protocol impls
revert api ns back into geom.core, update various math expressions, bugfix swizzle for quat
migrate other protocols into new geom.core, distribute PMesh into PFace/NormalAccess, add PGeomContainer, update babel codeblock structure using noweb-ref's
update babel codeblock structure using noweb-ref's, add templates to vector ns
migrate & refactor various common functions from old geom.core into new geom.core.utils ns
add *resolution* dynvar to core, add delta-contains to utils
Merge branch 'feature/geom-core' into develop

* feature/geom-core:
  add *resolution* dynvar to core, add delta-contains to utils
  migrate & refactor various common functions from old geom.core into new geom.core.utils ns
  update babel codeblock structure using noweb-ref's, add templates to vector ns
  migrate other protocols into new geom.core, distribute PMesh into PFace/NormalAccess, add PGeomContainer, update babel codeblock structure using noweb-ref's
  revert api ns back into geom.core, update various math expressions, bugfix swizzle for quat
  addresses #3 refactor matrix types as deftype, but still need standard clojure protocol impls
  initial checkin of extracted geom-core sub-project only containing protocol defs and refactored vectors, matrices & quaternion impls