Change call() return value to type error
Enhence Client.findLeaseHolder error handling

- Returns empty string if no lease holder is found.
- Check return value of findLeaseHolder call.
Enhence Client.findLeaseHolder error handling

- Returns empty string if no lease holder is found.
- Check return value of findLeaseHolder call.
Merge branch 'error-handling' of https://github.com/wweiw/simplegfs into error-handling

Conflicts:
	client.go
Bugfix: issue #6

- Use well defined error code to determine whether an AddChunk has
  failed or another client has added the chunk.
- Change the return type of Client.findChunkLocations and
  Client.addChunk because they essentially return the same things and it
  would simplify the error handling code, since we don't need to define
  two type of replies for those two function calls.
Errorcodes.go for error code definitions
Add error code

 - Add PathError to handle namespace related errors.
 - Add associated tests.
Delete errorcodes.go
Add error handling to namespace management

 - Returns error message to clients.
Modify tests associated with namespace manager
Add lease management in chunk manager

 - Use FindLeaseHolder() to find primary's location.
 - Use addLease to add a new lease.
 - Use checkLease to see if a lease is still valid.
Add ExtendLease function to chunk manager