We are about to embark on a biggish (academic) project which is divided into subprojects (with little if any code shared between them). None of the differences between git and svn make much difference to us, but we'd like to put each subproject in its own repository collected under a single project title. Which is the best way to approach managing the project?
Ideally, we'd like:

* bug-tracking
* a forum
* a wiki
* some kind of task-planner (like a Gantt chart)
* private as well as public repository branches

What solution would be best, in the opinion of stackoverflowers? I'd like to use github but it has a slightly steeper learning curve, and no forum. We could also use GForge on our own servers, but has a kludgy interface and it doesn't seem well-supported. Would Sourceforge be better? Or something I haven't thought of?

Thanks,
Chris