merge PR #667

Squashed commit of the following:

commit 20f9533030a236ad77cf4eb8b58345cc667153a0
Author: Mike Houston <mike@stashmetrics.com>
Date:   Wed Dec 3 17:35:34 2014 +0000

    Added support for lists as arguments in Projection expressions

commit b09d6ddb4c8ef3a1840f213a148262ca3fc9dda1
Author: Mike Houston <mike@stashmetrics.com>
Date:   Sat Nov 1 19:18:39 2014 +0000

    Allow Projection objects with projectedField set to generate query expressions

commit 9dc51fd9d7bfab1017ceb0b853401ccbf2c91cfc
Author: Mike Houston <mike@stashmetrics.com>
Date:   Sat Nov 1 16:58:45 2014 +0000

    Support for aggregation pipeline projection expressions which take a list of arguments, such as $add, $subtract and $mod