Named relationships

Support for named relationships, passing a vector optionally with name and entity instead of only the entity. This will also allow more than one relationship between two entities. e.g.

(defentity users
(belongs-to [:book books]))

(select users
(with :book))

(select users
(join :book))