more docstrings and updates to exceptions

Added more docstrings to the Droplet module
Also added custom exception classes and raise those instead of just raising Exception. This allows for fine-grained exception handling