sheep/http: refactor kv_read_object()

Also fix a API problem that return CONETENT_LENGTH for get operation

Reviewed-by: Robin Dong <sanbai@taobao.com>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>
sheep/http: refactor kv_delete_object()

Reviewed-by: Robin Dong <sanbai@taobao.com>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>
sheep/http: rework bucket operation

This patch simplify the code for bucket operations and alos also fixes potential
buggy error handlings.

Now we use the whole object in the account_vdi to represent the bucket because

- shares many codes with object operations.
- kv_bnode need space to hold meta data in the form of X-Container-Meta-*

This patch also fixes account create and delete:
 - we should use GET to create the account and DELETE to delete the account
 - POST is used to update the account metadata in the form of X-Account-Meta-*

Reviewed-by: Robin Dong <sanbai@taobao.com>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>
sheep/http: move http unrelated code out of kv.c

These helpers should be put generic and might helpful for others

Reviewed-by: Robin Dong <sanbai@taobao.com>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>