| Type | Changes | By | 
|  | Introduce PrologType interface. Fixes 12. | jzalacain | 
|  | Update PrologTerm with: isVariableBound(...) method,
				isVariableNotBound(...) method, isEntry(...) method, 
				isMap(...) method, match(...) method and
				cast(...) method. Fixes 11. | jzalacain | 
|  | Introduce PrologReference interface. Fixes 10. | jzalacain | 
|  | Update PrologQuery with: nextResult(...) method,
				nextVariableResult(...) method, nResult(...) method, 
				nVariableResult(...) method, more(...) method and
				nths(...) method. Fixes 9. | jzalacain | 
|  | Update PrologProvider with: newMap(...) method,
				newEntry(...) method, falseReference(...) method, 
				trueReference(...) method, nullReference(...) method, 
				voidReference(...) method, cast(...) method. Fixes 8. | jzalacain | 
|  | Introduce PrologMap interface. Fixes 7. | jzalacain | 
|  | Introduce PrologEntry interface. Fixes 6. | jzalacain | 
|  | Introduce PrologElement interface. Fixes 5. | jzalacain | 
|  | Introduce PrologDocumentable interface. Fixes 4. | jzalacain | 
|  | Introduce cast method in AbstractTerm to casts a PrologTerm. Fixes 3. | jzalacain | 
|  | Introduce cast method in AbstractProvider to casts a PrologTerm. Fixes 2. | jzalacain |