rename qcow2-cache.c to block-cache.c

We will re-use qcow2-cache as block layer common cache code,
so change its name and made some changes, define a struct named
BlockTableType, pass BlockTableType and table size parameters to
block cache initialization function.

v17-v18:
1) move struct to source file.
2) cluster_size->table_size.

Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>

Conflicts:
	block/block-cache.c
	block/qcow2-cluster.c
	block/qcow2-refcount.c
	block/qcow2.c
	block/qcow2.h
	trace-events
rename V19

Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>