Update Q class for nullable=True

 * Update match check in constructor to check for None since False is a
   valid value for nullable
 * Updated query builder for neo4j version 2 queries that check for null
   values (in cypher 2 NULL = NULL evaluates to false, and "is/is not
   null" construct must be used).
Update NOT check to in query.Q to use True=NOT()
Using True=NOT() only for Neo4J v2
Merge pull request #104 from ttsanev/master

Update Q class for nullable=True
It will be deprecated for Neo4j>=2.0.0