Should we add new error codes to indicate a plugin-specific error for each RPC call? **DeleteVolume**: When a volume is in the NODE_READY or PUBLISHED state, what error code should we return? **ControllerUnpublishVolume**: When a volume is in the PUBLISHED state, what error code should we return? **ListVolumes**: Should we add a `ListVolumesError`? Misc: What is `UNSUPPORTED_VOLUME_TYPE` for? `GetNodeIDError` and `ProbeNodeError` seems redundant.