The current Fragment is only for a file. This patch improves Fragment to be more generic.
First of all, I've changed Fragment to an interface and the original Fragment to FileFragment respectively. FragmentProto is changed to contain a table name and a bytestring which contains an storage-dependent contents. Then, the added FragmentConvertor transforms FragmentProto to a specified Fragment instance. It would be very useful to represent various fragment types like a row range of Hbase and database tables.