I know this is an open-source project, but what happens if the core contributors are gone? How will the community decide the future of the client?
If the entire core development team would be gone, a new team would need to take their place. I assume that the process might get political (some people wanting to push their agenda onto the project), and before the new devs would fully understand the system the innovation in the client might get stifled. It might also be likely that the Bitcoin Foundation would need to hire a few people to work on the project (just as they pay Gavin now). However, as there are already a lot of people that have contributed to the project, I don't think we couldn't handle the change in the long run.
Bitcoin-Qt is just one client. Yeah, it's the reference client, meaning that all other clients are expected to be compatible with it. So, the unity that Bitcoin-Qt espouses may disappear and it'd be up to the alt clients to work together with the community to decide on protocol enhancements ala BIP. I speculate that, in the worst case scenario, there may be a fork of the chain.
If the core development team and its resources (bitcoin.org, its github and sourceforge presence, etc.) disappeared, there are likely enough people who have touched the code and even have it cached locally that someone would be able to at least recompile and post a reliable package for the continuance of the reference client.
In its absence, though, it's likely that Bitcoin progress would shift heavily to one of the other clients or implementations, most likely BitcoinJ. This assumes that the C++ implementation -- the reference client -- is abandoned because folks picking it up don't have the expertise necessary to maintain it. This has happened with other open source projects; BitTorrent once had reference client that has since disappeared and its alternatives (Azureus/Vuze, µTorrent, Transmission, etc.) took the forefront. So, there's a precedent.