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
Integrate chunk manager into master

 - Use chunk server to manage chunks and leases.
 - Delete GetFileInfo RPC. Use GetFileLength RPC instead.
Simplify checkLease

 - Only return a boolean instead of returning a boolean together
   with an error.
Merge branch 'master' into append

Conflicts:
	master.go
Factor common code in client.write

- pushData and guaranteeChunkLocations are factored out for later use in
  client.Append.
- Initialize chunkManager in StartMasterServer.
- Improved error reporting in Master.parseServerMeta.