Adds double booking flag to close issue #120.

* Added new "hasOverlap" boolean to Talk objects
* Adds new grey triangle flag to MainScreen, and a more complete flag on
the Object_Talk and Timetable screens (visible only to workers and
admins on the last two screens). Object_Talk includes a hyperlink to get
you to at least one of the conflicted talks (aside from this one,
assuming multiple conflicts!)
This closes #116

* Add new placeholder entries on TextArea, TextBox and Multi-element
TextBoxes.
* Add placeholder fields in Object_Talk and Object_User templates and
classes.
* Amends Generic_Object class to include placeholder texts
Show the overlap flag on the personal timetables even when not logged in

As per Jack's suggestion.
Merge pull request #170 from JonTheNiceGuy/Issue120

Adds double booking flag to close issue #120.
This change implements features which should close #132.

This implements a new Object type - "ChangeLog", which stores the
diff(ish) of each change, the actor who performed said change, and on
which table this occurred.

This Object type is instantiated by the Generic_Object function
writeChangeLog() that bundles up the required fields, and creates the
object. This object is then overloaded by the SecureConfig and UserAuth
objects to prevent leakage of private data. This is also overloaded by
the ChangeLog object to prevent it from writing its own data over and
over again!

To call the Generic_Object function, there is a new Plugin called,
again, ChangeLog which triggers on the Create, Update and Delete
actions, after the entry has been written.
Corrections to the talk templates

There was a typo in the Smarty Template, and an issue in the terminology
around presenters.
Merge pull request #174 from JonTheNiceGuy/SmartyTemplateError

Corrections to the talk templates
Corrections to the talk templates

There was a typo in the Smarty Template, and an issue in the terminology
around presenters.
Add the ChangeLog Plugin to the config file.
Fix issue in Base_Request where NGINX provides HTTPS association when there isn't any
New download location for jQuery Mobile library
Merge pull request #175 from JonTheNiceGuy/Issue132

This change implements features which should close #132.
Fixing issues raised after merging #175

PullRequest #175 introduced some issues in the Puppet manifest, and
introduced issues in the unit tests. This commit fixes many of those
issues (plus issues which were identified as a result).

* Puppet now also installs Gammu-smsd and Gammu-doc. It points the CFM2
install file to the MySQL definition for Gammu, to install that as well
(Puppet).
* GenericObject now checks for the "old" value before simply inserting
it (Unit Test). To prevent PDO locks with multiple SQL statements, it
also closes cursors where required (Install script). Lastly, it checks
when installing database tables that the changelog table already exists
before proceeding (Install script).
* Object_Userauth checks whether "old" values are set before referring
to them (Install script).
* Install script now only freshens the jQueryMobile libraries, not
prompts (Install script)
* Amended talk tests in the Limbo plugin to return the correct slot
based on current logic (Unit Test)
* Ensure that the sessions are saved to an appropriate place during unit
testing (/tmp) - (Unit Test)
* Prevent testing of OpenID from erroring due to headers already being
sent messages (Unit Test, but probably not a bad idea elsewhere too?)
Merge pull request #177 from JonTheNiceGuy/IssuesCausedBy175

Fixing issues raised after merging #175
Resolve typo inserting c character in all web pages!
Re-ordered the setup sequence, added extra fields to vagrant setup.
Minor edits to reduce errors or confusion around sample data.
Merge pull request #179 from JonTheNiceGuy/MinorEdits

Minor edits to reduce errors or confusion around sample data.
Merge pull request #180 from JonTheNiceGuy/FixSetupIssues

Re-ordered the setup sequence, added extra fields to vagrant setup.
Retries (and tries some fixes) when user accounts can't be created