Use more general io.Writer and io.Reader for pack / unpack
Use fmt.Errorf instead of errors.New with Sprintf
Split in store / server package
More store refactoring