Add ability to clear all elements from AA

I couldn't find a bug report on this, but it has been a thorn in many people's sides for a long time. And it's really easy to fix. Given that I just looked at the AA code for something else, I figured I'd just do it.

Most recent discussion: http://forum.dlang.org/thread/xovoxwvzdnuvcjljwhaq@forum.dlang.org

Note, I would like to have called this `clear`, but we currently have `clear` as an alias to `destroy` scheduled for deprecation this month. We can probably change this to `clear` in the future, but we need to make `clear` a compiler error for a while after deprecation to avoid silently changing code that uses `clear` to mean `destroy`.