a lair
A person who lies to themselves or twists the truth is called a 'denier.'
A Skeptic person
"walking encyclopedia"
Smart.
annoying
you call them a computer tech
A person who understands everything is often referred to as omniscient or all-knowing.
An optimistic person.
A person who hates lies is often referred to as someone who is truthful, honest, or sincere. They may also be called straightforward or candid.
beck and call
A person who lies only when necessary can be described as a "compulsive liar" or "occasional liar."
A hypochondriac, probably.