Allow making a 0 length slice from the end of a string

The travis failures are because there is an env var set to the empty
string.  This causes our environment builder to hit this assert:

1398709910: tid=1530218240 illegal string slice start=15 len=0 but str->len=15
1398709910: tid=1530218240 Fatal error detected at:
1398709910: tid=1530218240 ./watchman() [0x40529a]
1398709910: tid=1530218240 ./watchman() [0x413721]
1398709910: tid=1530218240 ./watchman() [0x4036aa]
1398709910: tid=1530218240 ./watchman() [0x4097c4]
1398709910: tid=1530218240 ./watchman() [0x409a7d]
1398709910: tid=1530218240 ./watchman() [0x40e8c0]
1398709910: tid=1530218240 ./watchman() [0x40ea2e]
1398709910: tid=1530218240 /lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a) [0x7f995c55fe9a]
1398709910: tid=1530218240 /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f995c04c3fd]
Aborted

So, allow a zero length slice and check that we see this is in the env.