Rotaxanes and polyrotaxanes. Their synthesis and the supramolecular devices based on them