Fixes #3 - Criteria object is mostly implemented. An override of Ven.list() having criteria parameter is added. Old codebase only had string based criteria. In this commit, I am also adding typed criteria as a new feauture. With this new criteria system, user can create criteria object like;
new Criteria().eq(attr,value).like(attr,value).and().gt(attr, value).or().orderAsc(attr).orderDesc(attr).limit(limit, offset);
The orderings and the limit/offset values are not taken into account in the Ven (these are trivial, I will do them later).
Not thouroughly tested, because complex scenarios are only possible when applying to a real problem in a real application (which I am planning to do next).