addExperience, showExperienceWindow +more

--background
[Fix] fixed addExperience function - callees weren't passing the right
args after they were changed.
[+] sendPlayerProfile(port) - port is optional, if left out it sends to
all
[~] changed condition for DEEP_READING_BONUS, and moved flags object
from general gamedata to playerdata.
[~] Streamlined setVoteTimings() - removed areas where it first request
data from localstorage since all the data is already in background
[~] used the this/that pattern in _setupMessagePorts() to get access to
the the port varaible.

--content
[+] addExperienceWindow()
[+] showExperienceWindow()
[Fix] Fixed bug where one extra id-less gold link was added to every
page
[+] added a case for getting the playerProfile from the background in
_setupChromeEvents()
[~] unbound (this) from the _voteClickFunction handler and used the data
field jQuery provides for passing the port data to the function

--RQUtilities
[+] added a startedFrom variable into the stats section of playerData,
so calculations can easily be made on the content page when displaying
level up information
[+] added DEEP_READING_BONUS and DEEP_COMMENTING_BONUS to flags, though
only READING is implemented
[+]  added CopyObject(obj) - that clones objects using Robins JSON
stringify/parse method
Merge pull request #5 from FrancisStokes/ExperienceSystem

addExperience, showExperienceWindow +more