Extract logic from drain hook to bring it under test

It is not yet under test, but we plan to do this shortly

Signed-off-by: Kai Zhang <kaizhang@cn.ibm.com>
Add unit tests for Drain class in lib/cloud_controller

[#63767870]

Signed-off-by: Eric Malm <emalm@pivotallabs.com>