First working version of PPLNS payouts

* Based PPLNS on Prop Payout script
* Using defaults from prop payout, no class adjustments
* Added more methods required for PPLNS
* Added block methods for dynamic payout calculations
* Added PPLNS Sidebar that also displays the PPLNS Target
 * Shares beyond this target will not be included in payouts
 * Shares missing to this target will be added from archives
* Enabled archiving by default for PPLNS
* Added configuration options for PPLNS
 * Documented the usage for PPLNS, defaults are sane
* Added pplns_payout to run-crons

Addresses #143 and if accepted will fix it
Abort payout process if missing share_id

As discussed in #392 we should abort any payouts for rounds until the
issue is fixed.
Latest version for PPLNS payouts

* Rebased with next to add logging functions
* Added block method to fetch specific block
* Modified getArchive shares method to be more constistent
* Added new global configuration
* Adjusted smarty globals with new configuration
* More verbose pplns cron with logging
* Re-target the round in case of PPLNS not being matched by archive

Fixes #143
Adding archive cleanup cron

Since this needs to be done for all payouts, moved into it's own cron.

* Adjusted run-crons.sh to trigger archive cleanup
* Adjusted payouts to remove purgeArchive calls
* Adjusted pps payout, removed old configuration variable

Further addresses #143
Fixing Sidebar estimations on PPLNS

This will address a new issue in #143, estimates where not displayed
properly when pplns was active.

Fixes #143
more debug information on non-existing block shares
Removed BETWEEN call for round shares

Now shares are calculated proper with

`id > ? AND id <= ?`

as boundaries. This will ensure the upstream result is also calculated
for the round.

Addresses #143
Ensure to return 0 if no valid/invalid shares are found
Merge pull request #412 from TheSerapher/issue-143

Issue 143