Changing lsdir to consistently return an slist

If a directory is passed to lsdir which does not exist, it will return
the mismatched type scalar, as compared to its normal return and the
dictated return type in its function definition entry of slist.  This
causes all evaluation to stop in the event of a missing directory due
to mismatched assignment in a var designated as slist.
Switching to new use of CF_NULL_VALUE as requested.
Merge pull request #776 from werkt/master-lsdir-slist

Changing lsdir to consistently return an slist