cgroup: split out per-device BlockIOWeight= setting into BlockIODeviceWeight=

This way we can nicely map the configuration directive to properties and
back, without requiring two different signatures for the same property.
core: when writing drop-in files, name them directly after the property we set

Mapping from "FooBar" to "foo-bar" is unnecessary and makes it hard to
handle many different properties with the same code, hence, let's just
not do it.
core: simplify drop-in writing logic a bit

let's make use of some format string magic!
update TODO