[BNB] Throw `ValueError` when trying to cast or assign
# What does this PR do?

I have seen several piece of code where users try to assign `8-bit` loaded models into a new device and/or `dtype` this PR aims to throw an error to the users that perform this.

Also added a set of slow tests

cc @sgugger @ydshieh 

Do not merge before #20408

_The documentation is not available anymore as the PR was closed or merged._<|||||>What happens if we don't have the changes in this PR and users try to do assign 8-bit loaded models into a new device and/or dtype?<|||||>Users can face unexpected behaviors such as: https://github.com/huggingface/transformers/issues/20361#issuecomment-1324113579