Creating the current release table is a pig.

The file called current_release.mdtext is the one that needs to be created/refreshed at each release.

The parts relating to samples and teh eba maven blugi are small and can be hand edited, however, the table
of bundle versions is much to big to be edited by hand.

Steps to generate:

1. Edit the file aries-release-versions.txt to get the right release versions.
2. Run 'perl create_modules_table.pl > modules_table.txt'
3. Run 'cat currentrelease.mdtext_body modules_table.txt > currentrelease.mdtext'
4. Commit and publish 


