Merge pull request #4287 from jmarshallnz/neverneverland

[addons] add support for 'never' updating or checking for updates
[Utils] Member variable 'Foo::bar' is not initialized in the constructor.
[Variant] 'operator=' should check for assignment to self to avoid problems with dynamic memory.
[AMLUtils] Unused variable: audio_formats.
[Variant] Consecutive return, break, continue, goto or throw statements are unnecessary.
[Stopwatch] Fix "found duplicate branches for 'if' and 'else'". Thanks @t-nelson!
[RssManager] Make 'CRssManager non-copyable to solve 'CRssManager::operator=' should return 'CRssManager &'.
[RegExp]  'CRegExp::operator=' should return 'CRegExp &'.
[CryptThreading] Make CryptThreadingInitializer non-copyable to solve 'class CryptThreadingInitializer' does not have a copy constructor which is recommended since the class contains a pointer to allocated memory.
[TuxBoxUtil] Remove unused variable 'data_size'.
[WindowsShortcut] Fix: Array index 'iPos' is used before limits check.
[cosmetic] - initialize members in the order they were declared
[Utils] Remove redundant assignment or check return value.
Variable 'foo' is reassigned a value before the old one has been used.
Variable 'foo' is assigned a value that is never used.
[Weather] Fix: Possible inefficient checking for 'm_localizedTokens' emptiness.
[Utils] Use initialization list.
Variable 'foo' is assigned in constructor body. Consider performing initialization in initialization list.
[Utils] Prefer prefix ++/-- operators for non-primitive types.

Conflicts:
	xbmc/utils/CPUInfo.cpp
[Screenshot] Class 'CScreenshotSurface' is unsafe, 'CScreenshotSurface::m_buffer' can leak by wrong usage.
Don't make assumptions about struct members

This fixes a warning on every file that include StdString.h when
compiling for android and presumably, whichever platform the ifdef was
originally added for.
[linux] [SystemInfo] Fix possible memory leak.
[Utils] Make member function 'Foo::Bar' const.