Ignore lookups for some system specific (osx for now) names.
Unescape url encoded directory and file names.
Make go vet shut up.
Read mtime from web server directory index.
Reset (directory).de after 30 seconds.
Fix panic, slice bounds out of range (Linux/amd64).

panic: runtime error: slice bounds out of range

goroutine 45074 [running]:
runtime.panic(0x6eda60, 0x9112cf)
	/usr/local/go/src/pkg/runtime/panic.c:279 +0xf5
main.(*file).Read(0xc208167950, 0xc208216a50, 0xc2081a98c0, 0xc20811c9c0, 0x0, 0x0)
	/home/tim/gopath/src/github.com/sdgoij/ghttpfs/file.go:87 +0xa0a
bazil.org/fuse/fs.(*serveConn).serve(0xc208034500, 0x7fa688e739a0, 0xc208216a50)
	/home/tim/gopath/src/bazil.org/fuse/fs/serve.go:1091 +0x17f4
created by bazil.org/fuse/fs.(*Server).Serve
	/home/tim/gopath/src/bazil.org/fuse/fs/serve.go:335 +0x5b0

goroutine 16 [syscall]:
syscall.Syscall(0x0, 0x7, 0xc208164000, 0x2000, 0x4282ca, 0x656380, 0x2000)
	/usr/local/go/src/pkg/syscall/asm_linux_amd64.s:21 +0x5
syscall.read(0x7, 0xc208164000, 0x2000, 0x2000, 0x2000, 0x0, 0x0)
	/usr/local/go/src/pkg/syscall/zsyscall_linux_amd64.go:838 +0x75
syscall.Read(0x7, 0xc208164000, 0x2000, 0x2000, 0x2000, 0x0, 0x0)
	/usr/local/go/src/pkg/syscall/syscall_unix.go:136 +0x5c
bazil.org/fuse.(*Conn).ReadRequest(0xc20800e240, 0x0, 0x0, 0x0, 0x0)
	/home/tim/gopath/src/bazil.org/fuse/fuse.go:379 +0x168
bazil.org/fuse/fs.(*Server).Serve(0xc208046720, 0xc20800e240, 0x0, 0x0)
	/home/tim/gopath/src/bazil.org/fuse/fs/serve.go:327 +0x4cd
bazil.org/fuse/fs.Serve(0xc20800e240, 0x7fa688e6d938, 0xc20801aa50, 0x0, 0x0)
	/home/tim/gopath/src/bazil.org/fuse/fs/serve.go:346 +0x8e
main.main()
	/home/tim/gopath/src/github.com/sdgoij/ghttpfs/main.go:40 +0x231

goroutine 19 [finalizer wait]:
runtime.park(0x4175f0, 0x9156a8, 0x9138e9)
	/usr/local/go/src/pkg/runtime/proc.c:1369 +0x89
runtime.parkunlock(0x9156a8, 0x9138e9)
	/usr/local/go/src/pkg/runtime/proc.c:1385 +0x3b
runfinq()
	/usr/local/go/src/pkg/runtime/mgc0.c:2644 +0xcf
runtime.goexit()
	/usr/local/go/src/pkg/runtime/proc.c:1445

goroutine 44968 [runnable]:
net/http.(*persistConn).readLoop(0xc208040000)
	/usr/local/go/src/pkg/net/http/transport.go:868 +0x829
created by net/http.(*Transport).dialConn
	/usr/local/go/src/pkg/net/http/transport.go:600 +0x93f

goroutine 17 [syscall]:
runtime.goexit()
	/usr/local/go/src/pkg/runtime/proc.c:1445

goroutine 44969 [select]:
net/http.(*persistConn).writeLoop(0xc208040000)
	/usr/local/go/src/pkg/net/http/transport.go:885 +0x38f
created by net/http.(*Transport).dialConn
	/usr/local/go/src/pkg/net/http/transport.go:601 +0x957
umount: /home/tim/mnt/h0mr: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))