BufferZero now zeroes the buffer

The previous behavior was just to mark the size as zero, but it was
found that is better to add a '\0' at the beginning to make this
clearer.
Merge pull request #426 from cduclos/master

Zeroing the buffer
Add indices to VarRef
More unit tests for var_expressions
Add VarRefToString
Redmine#1735: classesmatching() function
Redmine#1735: classesmatching() function, cleanup

* move StringSetAddAllMatching out of set.c/set.h and into env_context.c
* use RlistPrependScalar because sets have no duplicates
* style cleanups