I wouldn't have high hopes of getting a
high population server going on a public core unless you plan to do something really innovative. Also note that cores which support version beyond v4.x are not that good. They're highly buggy and incomplete. The latest and most developed these days is still v3.3.5a.
1. I'll give 2 suggestions here:
1a: If you want the latest, which is v6.2.4a 21463 then you want
You must be registered to see links
.
1b: If you want something that can be popular, then you want v3.3.5a, either
You must be registered to see links
or
You must be registered to see links
.
2. Bit of a twofold question:
2a. If you plan to fix bugs yourself, you'll need a working knowledge of C++ and a lot of reading. You can't really just dive into WoW emulation after taking a few courses in C++.
2b. As far as keeping up with live, it's downright impossible. Ever since v3.x, Blizzard made it very difficult to keep cores up-to-date, simply with the addition of randomizing opcodes with every update. It killed the possibility to having a core practically right behind live. The public development community has also somewhat died down in the past, these days as far as public cores go, there is only really TrinityCore and C-MaNGOS.
3. Good luck getting any public core to support that many concurrent connections without freaking out. But for 1,000 connections, I'd say at least 5GBs of RAM and a good newish CPU. Your biggest concern is network speeds. That's where the bottleneck lies for unofficial servers. You're going to want an upload speed of at least 50mbps to support what you would consider "high population."
4. Can't help you there.
5. Advertise on various "Top x server" websites and spam them with upvotes. Also advertising on forums like these.
If you have any more questions, feel free to ask, and have fun!