* Fixed all Tests.
* Fixed tests stdout redirection
* Changed return code for failed tests to be 0xF
* Small improvements on automated testing code
* Created Periodic test suite and moved tests
* Made physics main to only have one test for now
* Renamed all tests to have leading AutomatedTesting::
Launch AssetProcessor from prebuilt SDK
- Look for AssetProcessor in a known SDK layout location if one in executable directory is not found.
- Adds more files to the CMake install to help fix some errors launching AP from SDK.
* Asset<T>::QueueLoad didn't trigger any loads in the case where an asset was in a Queued state, it simply returned the reference. This caused problems in the case where an asset was in the process of being cancelled and garbage collected, as it could be in a queued state with nothing actively loading it. The method now detects this case and calls GetAsset(), which triggers a new load.
* AssetContainer::IsValid() was returning true for canceled containers that no longer had a root asset. Now it returns false, to help ensure the container doesn't try to get reused.
* AssetContainer would add entries to the preloadList even if any potential preloads were filtered out from the load. They are no longer added, since they shouldn't be waiting for any dependent assets to load. (This could cause incorrect warnings to print in some situations)
* AssetContainer was erroneously warning about removing assets from a missing waiting list. The warning was removed, as the condition could occur when the same asset was being loading by two different containers - once with dependencies and once without.
* AssetDataStream::RequestCancel has been added, as it was missing, but nothing currently needs to use it.
* AssetManager::GetAssetContainer() now verifies that the container is valid before attempting to reuse it. This prevents asset containers that are in the middle of cancellation from getting reused.