Pointers rewritten in:
appwideclasses/
browser/
config/
extensionmanager/definitions

Some changes made to extensionmanager/extension to unbreak build.
Use QSharedPointer for all pointer to Definition and children.
Definition and its child classess are now implicitly shared.
DefinitionData uses a QHash<enum Key, QVariant> for internal storage. The Key enum is public in DefinitionData, and must be used for all transactions with the DefinitionData storage. That way, trying to access an illegal key results in compile-time errors, which is better than the silent failures of invalid QString keys.

Definition and its child classes are responsible for QVariant type casting (both ways).

FormatDefinition and TransportDefinition are converted to use DefinitionData internal storage.

This does not change the public interfaces of the Definition classes (against current master branch).
Change ExtensionDefinition to use DefinitionData.
Fix some bugs in previous commit of Transport/FormatDefinition change.
Make DefinitionData::Key names even longer, but more obvious.
Register Person, QList<Person> and VersionNumber with the QMetaObject system, to enable encapsuling them in QVariants.
Change comment here as in the other definition headers in previous commit.
Whitespace
No code change.
Pointer rewrite complete in extensionmanager/extension

Still using plain C++ pointers for casting the qtplugin object to various interfaces, like in:

	ExtensionInterfaceHooks *exIf = qobject_cast<ExtensionInterfaceHooks*>(this->_qtplugin.data());
PointerRewrite for jobmanager/
Includes other changes to the debug code.
Include <QScopedPointer> and <QSharedPointer>
Finish pointer rewrite for DefinitionTable
Less unreadable debug text
Pointer rewrite of ExtensionManager
Fix multiple problems with previous changes.
ConsoleWindow: Setting WA_DeleteOnClose collides with using refcounting pointers and QObject parenting for the window. Keep WA_DeleteOnClose.
MainWindow: Setting WA_DeleteOnClose results in dtor being called twice. Don't set it.
QObject parenting: Refcounting pointers must not point to parented QObjects; would result in two refcounters and two deletes.
Differing solutions based on situation.
QScopedPointer/QWeakPointer: Use .data() for access whereever possible.
MainApp/extensionmanager/jobmanager/job.h: Rename _converters to _filters (from branch master)
ExtensionDefinition/FormatDefinition: cast enums to qint64 before storage in DefinitionData
VhsXml/*: Forgotten in previous commits in branch. Definitions are now returned in QSharedPointers. QObject parent is always set to 0.
LocalFileExtension: Use QSharedPointer for file handling. This extension needs to be further rewritten; see comment added here in localfile.h.
FormatDefinition: Fix mistake in previous changes in branch, where the DefinitionData value would be set to a QString rather than the Completeness enum value.
ExtensionDefinition: Rename enum var "api" to "apiInterface" in ctor, for consistency.
PointerRewrite for WebWindow.
Use QWeakPointers for all ui elements, as they should all have QObject parents, directly or indirectly parented by the WebWindow.
Get rid of QPointer entirely.
All <QPointer> includes changed to <QSharedPointer> and/or <QScopedPointer> as appropriate
Change any QPointer mentions in comments as above.

This concludes #53, and the branch is ready for merge with master.
Merge branch 'PointerRewrite'

This resolves #53

Conflicts:
	.gitignore
	MainApp/extensionmanager/definitions/extensiondefinition.h
	MainApp/extensionmanager/definitions/formatdefinition.cpp
	MainApp/extensionmanager/definitions/formatdefinition.h
	MainApp/extensionmanager/extension/javascriptextension.cpp
	MainApp/extensionmanager/jobmanager/job.h