I'm in the process of moving a.o/events over to events.a.o

If you want to help, here's what remains to be done:

* Identify everything that needs to be copied over. As far as I can tell, what's remaining is:
   * Assets mentioned in http://apache.org/events/README.txt
   * ...

* Draw up complete list of things that need to be redirected because they are referenced numerous places elsewhere
   * /events/meetups.html
   * Anything mentioned in http://apache.org/events/README.txt
   * Update the information in http://apache.org/events/README.txt so that over time we'll start referencing the new correct locations

* Open Infra ticket requesting the above redirects

* Find credentials for the Apache events calendar - http://community.apache.org/calendars/ - and find people that will keep this updated going forward

