Share project "Messaging Module" into "http://svn.openmrs.org"
messaging: initial commit of the messaging module.
messaging: committing several changes to the core framework as well as the initial implementation of the SMS service

- added ReflectionUtils, which allows a MessagingService instance to introspect and return the Message and MessageAddress classes that it manages
- added preliminary interface for MessageService and MessageAddressService
- added several bits of metadata
- changed the 'framework' folder -> 'schema'
- added RXTX and SMSLib to the classpath
- added initial implementation of the SMS service
Various changes including database structure changes and changes to the Message class.

The main changes in this commit are:
- The implementation of the DAO and Service layer
- Message has been changed to have strings as the origin and destination as opposed to MessageAddress objects
- MessageAddress has been changed to MessagingAddress
- MessageAddress is no longer a person attribute. This could change in the future but it was easier and cleaner to do things this way currently.
Moving around the dependencies - added JTwitter for the twitter service
Updated the schema a little bit - fixed various bugs in the hibernate mapping files.

Also added 2 fields to Message - sender and recipient. Both are optional
A few bugfixes and updates to the framework.

- Comments here and there, whitespace changes
- Added temporary singleton methods to MessagingCenter for use until I put it as a bean in the applicationContext
- Added a few getter methods for MessageFactories and MessagingAddressFactories in MessagingService and MessagingCenter
ModuleActivator now intializes the MessagingCenter and starts up the messaging services
Changed Message to be voidable instead of retireable after I realized that it was data not metadata. This commit contains the changes to the Service and DAO layer for that change.
messaging module: changed the name of 2 privileges so as to not conflict with existing ones
messaging module: Adding a Patient Dashboard Tab extension for the messaging module. Also removing an admin list extension point that I thought I removed in the last commit...
messaging module: correcting a few bugs with the DAOS and Services- badly named setter methods that Spring couldn't find
messaging module: updating some of the dependencies in the lib folder
messaging module: changes to the hibernate mapping files.

- added the subclasses of Message and MessagingAddress
- figured out why the Daos wouldn't save - bad paths. Fixed this.
messaging module: adding default constructors to domain objects for Hibernate
messaging module: housekeeping in the DAOs
messaging module: added admin list item "Send a Message" that allows users to do just that.
messaging module: xml configuration file changes

- added the admin list extension point and a global property to config.xml
-split apart moduleApplicationContext and webModuleApplicationContext
-added a few entries to the i18n file
-added all messaging services, message factories, and address factories as beans in the module application context. They are now injected and managed by Spring.
messaging module: changes to core schema to handle Spring dependency injection and other housekeeping things

-added getters/setters for Spring dependency injection
-cleaned up some generics errors
-added MessageFormattingException to match AddressFormattingException
messaging module: adding preliminary implementation of the twitter messaging service