core: wcore_*_{init,teardown} rework
Drop the return type of the former - it always returns true, drop the irrelevant asserts and remove the dummy teardown function.
This allows us to cleanup the call paths and error handling across the tree.
This is one part of validating and removing all the assert from the codebase.