client: expose extent/osd mapping

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
libcephfs: return osd location from crush map

Adds ceph_get_osd_crush_location that returns a list of (type,name)
pairs for devices that exist between a given osd and the root of the
bucket hierarchy.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Merge remote-tracking branch 'gh/wip-expose-topo'

Reviewed-by: Sage Weil <sage@inktank.com>