master: Fix use of freed memory found by valgrind

This commit fixes the issue:

Invalid read of size 4 at 0x43D9A1: fs_purge(FsContext const&, unsigned int) filesystem.cc:2983)
  matoclserv_fuse_purge(matoclserventry*, unsigned char const*, unsigned int) (matoclserv.cc:3266)
  matoclserv_gotpacket(matoclserventry*, unsigned int, unsigned char const*, unsigned int) (matoclserv.cc:3611)
  matoclserv_read(matoclserventry*) (matoclserv.cc:3885)
  matoclserv_serve(pollfd*) (matoclserv.cc:4026)
  mainloop() (main.cc:357)
  main (main.cc:1191)
Address 0x81c58f0 is 16 bytes inside a block of size 104 free'd
  at 0x6A20991: operator delete(void*) (vg_replace_malloc.c:502)
  fsnodes_remove_node(unsigned int, fsnode*) (filesystem.cc:1991)
  fs_purge(FsContext const&, unsigned int) (filesystem.cc:2100)
  matoclserv_fuse_purge(matoclserventry*, unsigned char const*, unsigned int) (matoclserv.cc:3266)
  matoclserv_gotpacket(matoclserventry*, unsigned int, unsigned char const*, unsigned int) (matoclserv.cc:3611)
  matoclserv_read(matoclserventry*) (matoclserv.cc:3885)
  matoclserv_serve(pollfd*) (matoclserv.cc:4026)
  mainloop() (main.cc:357)
  main (main.cc:1191)

Change-Id: I0a24fd9adec96b2be582ab40dc786f071c5f5efc