Mug#sip raises error if Mug is empty

* An empty mug can't be drinked from unless you like drinking _AIR_!
:sparkles:

[#1337]
Generalize #sip by delegating to private drink method
A Mug may be gulped

* Mug#gulp takes a drink consuming 10 percent of the Mug's contents
s/percent_empty/percent_filled/

* The functionality of Mug will be easier to understand by changing the
  direction of the "filled" logic. The first step in doing so is
  renaming our variable.
* The logic is not affected by this commit. The semantic meaning of this
  variable is now broken.
Reverse the operations on #percent_filled to provide meaning to variable

* The variable percent_filled is now used as its semantic meaning
  implies.