Napoleon's hat fetches $2.1 million at auction