optimization: rather than continuously constructing new arrays from the linked lists of instructions, we create one array and use it multiple times in MethodGen.
Declare annotation: infrastructure upgrade. Mainly to ensure we copy entries between constant pools correctly - required when annotations move from one class to another (as is typical with declare annotation)
Adding BCEL src to bcel-builder project. We change/patch BCEL more frequently than we import new versions of BCEL into AspectJ - so it makes sense to make that patching process easier than the importing process. Also the Java5 support would result in an unwieldy patch.txt file.
The ANT targets in build.xml will still enable transformation of the packaging from org.aspectj.apache to org.apache for diffing with a new BCEL version, should one ever appear.