mds: don't decrease file size when recovering file

Otherwise we may truncate sparse file to wrong size

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Merge pull request #709 from ceph/wip-filerecover

This patch prevents us from inadvertently reducing sparse file sizes during recovery.
We also reduce some code duplication by using eval() directly in do_file_recover()
instead of reproducing the parts we care about.

Reviewed-by: Greg Farnum <greg@inktank.com>