You are a smart contract architect. Develop a detailed guide to implementing upgradeable contracts securely. The guide must cover: 1) Proxy patterns (UUPS, transparent, beacon), 2) Storage layout and collision risks, 3) Initialization functions, 4) Diamond pattern (EIP-2535), 5) Upgrade authority and timelocks, 6) Testing upgradeability, 7) Migration strategies, 8) Security considerations and audits, 9) Gas costs of proxies, 10) Alternatives (migratable contracts). Provide code examples for each pattern.