Refactor: photo object

Further refactor + adding unittests of photo object.
Added more unittests for photo class
Erronous interpretation of EXIF information

Fixed a bug that caused EXIF information in some (rare) cases to report
the aperture wrong.
Removed getMidsizeImg() function

This function was only a wrapper around getImageTag.

Modified getImageTag to no longer return HTML but a block object.
Got rid of adding session_id to URL

Zoph could function with session id's added to the URL instead of
cookies. This is no longer a best practice as such an URL could be used
to gain access to Zoph.
Removed HTML from get...Link() functions

Created a template-block for a simple link and modified
getThumbnailLink() and getFullsizeLink to use it.
Refactor thumbnail-related methods of photo class
Refactor photo class

Further refactor of photo class and added unittests
Refactor getCount() function to proper static function

Couldn't do this before PHP5.2 was phased out because late static
binding was introduced in PHP5.3
Modified internal database references to static

Changed the internal variables that Zoph uses to figure out which
database table belongs to which object (as well as the primary keys and
fields that cannot be null) from object variables into static variables.

Also modified the getRecords(), getRecordsFromQuery() and
getTopNfromSQL() and  method to no longer need the class name as a
parameter.

All of the above became possible because Zoph no longer supports PHP
5.2, as "Late Static Binding", which was needed for this change, was
introduced in PHP 5.3.