Add FileSystem and WalkFS

Closes #1
gofmt
Merge https://github.com/kr/fs

Conflicts:
	filesystem.go
	walk.go
Merge from trunk