added json.net member name resolution to where and select clauses
removed partial name resolution (allowed for jsonpropertyattribute but not datamemberattribute or camelcasecontractresolver) from select clause as handled in  treevisitor visitnewexpression
Either simplified the items below greatly or completely missed the point and broken everything without realising it yet (we'll see).
Altered visitnewexpression to call visitexpression on each argument rather than manually resolving members, this causes return expression to be built via same calls as individual memberexpressions (providing consistency) and so simplifies getselectparameters in modelvisitor.
altered visitnewexpression to select document.propertyname as object.membername
added visitunaryexpression to deal with classes parsed as interfaces
removed json.net dependancy from modelvisitor
Updated querygeneration tests with membernames inline with json.net
added membername resolution tests
updated treevisitor to not include unmapped members
Updated member name resolution to go through json.net
Fixed issues in GetSelectParameters & VisitNewExpression (resolving expressions through VisitExpression and introduced 'as xxxx' into query)
Updated tests to reflect changes
Added VisitUnaryExpression to handle Interfaced Types