test - add checks for undefined objects
licenses - move license file to a new 'licenses' directory
external libraries - Import SparkMD5 implementation

Taken with thanks from https://github.com/satazor/SparkMD5
All credit to André Cruz

SparkMD5 is licensed under WTFPL,
so including it as an external library is an acceptable use.
Also discussed with and received permission from André.

Note that only SparkMD5 uses this license -
everything Perspectives is still GPL3 (has not changed)
licenses - Add readme explaining license breakdown
Perspectives - Hook up SparkMD5 library and fix MD5 functionality

I stress that this is a *temporary* fix,
to get us up and running again.
We definitely need to move Perspectives away from MD5
to newer and more secure hash algorithms.

Many thanks to Gerold M. for figuring this out and supplying working examples!
Perspectives - Use consistent formatting for XUL files

Fix spacing and order scripts alphabetically
install.rdf - Update version to 4.5.2
CHANGELOG - Add notes for 4.5.2
Merge pull request #141 from daveschaefer/fix_md5

Fix md5