Add package level documentation

Signed-off-by: Amr Ali <amr@databracket.com>
Use autoexception instead of autoclass for documenting exceptions

Signed-off-by: Amr Ali <amr@databracket.com>