Per aggregate filters from community

Cherry pick sahid's commit in order to make it working in havana release

Since AggregateDiskFilter has been merged in community and will release in Juno, This review request is cherry pick community version and did some adjustments in order to make it work in havana release.

Introduce AggregateDiskFilter to allow scheduler get "disk_allocation_ratio" configuration from aggregate metadata instead of nova.conf. 
Also, it provides a workaround to make DiskFilter compatible with RBD backended hosts. Because RBD backend hosts would not report ceph storage space left, DiskFilter always think their disks are not enough for instance with large disk allocation. With AggregateDiskFilter, we can add all rbd backended hosts in an aggregate and set a big enough "disk_allocation_ratio" value.