[CHANGED] Parse X-FORWARDED-FOR when supplied

Instead of trusting REMOTE_ADDR we should parse X-FORWARDED-FOR if
supplied. This will properly use the user IP in a multi-LB setup.

Needs testing
[ADDED] Use getCurrentIP on IP check
[FIX] Newmint Payout Fix
[UPDATE] cleanup
[UPDATE] nicer donor icons
[FIX] Typo
[UPDAT] added footer, cleanup
[UPDATE] changed icons
[UPDATE] changed icons
[FIX] added default values
[IMPROVED] Unified user speed statistics

* [ADDED] getUserMiningStats to fetch all speed related data
 * Uses global cache if available, falls back to local query and then
   local caches
* [REMOVED] getUserHashrate, getUserSharerate, getUserAvgShareDifficulty
* [UPDATED] All code occurences for the above to use the new system

Probably won't change much since global cache was already used but does
help on the Dashboard since we combine at least 2 calls into one.
[UPDATE] changed template
[FIX] Wait for global cache data, don't run queries
Merge pull request #1829 from iAmShorty/donor-icons

[UPDATE] nicer donor icons
Merge pull request #1826 from iAmShorty/PoS-Balance-Fix

[FIX] Newmint Payout Fix
Merge pull request #1798 from MPOS/x-forwarded-for-check

[CHANGED] Parse X-FORWARDED-FOR when supplied
Merge pull request #1837 from MPOS/unified-user-miningstats

Unified user miningstats