Fix incorrect handling of '' on check_browsedir()

When '' was passed as browsedir to function check_browsedir(), it
didn't correctly handle the case when path was '/' (it returned 0).
This caused that a list query using '' returned the file attributes
from the next file in the manifest file.

Example:

   > burp -a L -b 1 -d '' -C test
   ...
   Listing directory:
   -rw-r--r--  1     0     0       0 2014-10-01 12:50:51 /

   > burp -a L -b 1 -d '/' -C test
   ...
   Listing directory: /
   -rw-r--r--  1     0     0       0 2014-10-01 12:50:51 .autorelabel
   lrwxrwxrwx  1     0     0       7 2014-09-29 16:37:45 bin -> usr/bin
   ...

As can be seen the attributes of '/' are taken from '.autorelabel',
which is the first file inside '/' and follows '/' in the manifest.
Close unnecessary file descriptors after server fork.
Merge branch '1.4-master' into 1.4.25
Merge pull request #237 from datalab-bcn/bug-browsedir

Fix incorrect handling of '' on check_browsedir()
Merge branch '1.4-master' into 1.4.25