return nil instead of memory access error
bump to 0.30 since it fixed an important bug
avoid empty data nodes
0.31 is next release
adding HEAD support
merge changes from about dealing with read only volumes.

https://github.com/tgulacsi/weed-fs/commit/97482255d555f152ea99052aba7d0a0163235e39.diff
accurate error messages during writing
fix compilation error
rename volume_location.go to volume_location_list.go
refactoring, same logic, but the store replication logic is moved to a
stand-alone file, for later easier improvements
refactoring needle mapper interface to separate index file storage logic
out
Tamás Gulácsi contributed cdb map for read only extremely low memory
implementation.