Add detailed smarty cache documentation to config

Instead of just making it availble document the smarty cache feature.

It might work for users, but it's advised to rely on the memcache
instead.

Fixes #309
Adding cache lifetime option to smarty config

* Renamed configuration array to `smarty` => `cache`
* Added `smarty` => `cache_lifetime` to expire cache files properly

This should be safe to use, be aware that each page request is cached!
That includes any POST/GET calls to the site.

It does help in speeding up the site, up to 100% on some requests. For a
high traffic site it probably makes sense to enable this option with a
low cache lifetime to ensure most recent data.

Addresses #309
adjust smarty configurations
Add detailed smarty cache documentation to config

Instead of just making it availble document the smarty cache feature.

It might work for users, but it's advised to rely on the memcache
instead.

Fixes #309
Adding `{nocache}` flags for dynamic content

This will update content instantly once the user changes it and not load
a cached version from the smarty cache.

Addresses #309
Adding cache detection to many pages

This will allow pages to skip loading data from backends like the
database or the wallet RPC server. If a cached page is detected and
valid, all dynamic content generation will be skipped completely.

Other pages that have not been adjusted in this commit will still fetch
backend data all the time. This will ensure clients always see the most
recent data, like worker information or account changes.

This should fix #309 completely but needs some testing.
disable smarty cache by default in dist
Disable caching check on Smarty globals

This will ensure data is available for those pages relying on global
data. A better step might be to load template specific data always on
the pages that require the data instead of relying on global data to be
available.

Fixes #309
Adding 3rd party Scrypt library

This will allow us to start checking a blockhash against a solution
submitted to the database.

Details on this in the ticket. Just a WIP to save file states.

Addresses #405
fixing empty variable when using cache
Adding more descriptive message for txfee

Fixes #400
Merge pull request #407 from TheSerapher/issue-400

Adding more descriptive message for txfee
Adding solution detections for blocks

This will finally fix all block finding issues with a 4 way detection.
The find upstream method will continue to try other ways to find a
proper share until they are all exhausted or a match was found.

* Use stratum solution, create scrypt hash from block header
* Use pushpoold solution, create solution string from block header
* Use first available upstream share in timerange of block time
* Use *any* first available valid share older than time of block

This will fix #405 - no more unknown blocks. Ever.
removing debug output
Adding share type to log output

This will display which detection mechanism caught the share.
Fixed stratum detection

Fixes #405
Added blockhash solution checking

Stratum of @moopless supports blockhash as a solution. Check for that
one first.

Addresses #405
fixing issue with upstream shares not being found
adding missing PHP closing tag
Allow guest access to pages with config options

This will allow pool owners to make certain pages public accessible
without user registration or login. Please check the config dist file
for details.

Fixes #408
Ensure people know what the memcache setting does

Even though memcache can be disabled, the memcache library is a
requirement as listed in the README.md. I clarified that in the
configuration file itself to ensure people install it even though they
might be disabling it for debugging purpose.

Fixes #409