Mechanism Design, Matching Theory and the Stable Roommates Problem