Fix terms filter serialization of numeric terms

Serialization was being skipped when numeric terms were passed to terms
filter due to incorrect IsConditionless() logic.  This commit also fixes
a NRE that was being thrown when passing a null terms value.  An empty
filter is now created instead.

Closes #843.