Saint-guilhem-le-désert, cité médiévale