Fixes #5189: cache handler accepts view names with hyphens
Allow cache handler parseRequest to be tested, simplify validation logic
Merge pull request #5193

Conflicts:
	engine/classes/Elgg/CacheHandler.php
	engine/classes/Elgg/EntityDirLocator.php