Updated Consultant so the class throws exceptions in situations where
invalid data is passed to a certain methods. Updated corresponding test
cases.