Refactors JugglingModelTrait/Test - Extracts procedures to methods. Enforces valid types set.

Minor refactor and now InvalidArgumentException is thrown upon "Add/Set/Juggle" invalid type rather than only at JuggleTime™
- Refactors `juggle()` extracts procedures out to dedicated methods
    - getJuggleMethodName($type)
    - normalizeTypeString($type)
    - buildJuggleMethodName($normalizedType)
- Now enforcing valid "desired type" within setJugglable()
    - Utlizes newly added getJuggleMethodName($type)
    - @throws InvalidArgumentException
- Tests
    - Adds testAddInvalidJugglableThrowsException
    - Adds testSetInvalidJugglablesThrowsException
    - Modifies existing tests setting invalid type 'foo' to use valid type