Propulsion of an artificial nanoswimmer: a comprehensive review