this diff does two things
RFC: because io managers are resources, the default mem_io_manager won't work for things like result.result_for_solid. it's because  output_value will reconstruct the pipeline context, where resources get re-initiated, which means we would lose the in-memory values in the mem_io_manager as the io_manager in output_value is going to be a brand new instance of the InMemoryioManager.
- default to mem_io_manager
switches the logic to check "is default intermediate storage" instead of "is default io manager" in the adapting logic - so we would be using mem_io_manager as the default rather than the adapted mem intermediate storage.
couldn't separate these two because this check will always switch to use intermediate storage if mem_io_manager is used