ADD: Prolog Terms functions with Protocol.

The PrologTerms interface functions are now combined in a Protocol. It's a way more cleaner Polymorphism imitation.