A hacker is one someone who is a computer expert....it's as simple as that. They have knowledge of many operating systems, programming languages, protocols, etc. (and use that knowledge to gain access to...in most cases...a remote network)
If you wanna get into all the White Hat, Black Hat bs, then a white hat hacker is someone who hacks, but is not destructive. A black hat is destructive.
I agree with definition 4 also.