erasure code feature

formerly https://github.com/ceph/ceph/pull/2397 rebased against giant