Adding a country list to the Region class and adding a data table to
display the countries in a region in the viewRegion.xhtml
So we saw lazy loading exception when tried viewing the countries in a
region.
Conversations can help us here. So here I'm modifying the our EJB
RegionService.java to make it stateful and conversational.
Stateful because we can then utilize Extended persistence context.
editedRegion bean has been moved from RegionController.java to
RegionService.java so that it also becomes conversational.
Okay we made our EJB conversational but didn't use it in a conversation
that can be managed by the CDI container. Hence, beginning the
conversation in loadRegion method and injecting the EJB using our good
old friend @Inject.
Tidying up the Region creation code to use conversation. 
1) Creating a method to initiate region creation. initNewRegion().
2) Modifying saveRegion() method to save region after creating or
editing. Ending conversation after region has been saved. 
3) Adding a feature to edit current region name.
4) Using <f:event> to invoke the initNewRegion() method before
createRegion.xhtml is displayed.
Utilizing more JPA features - 
1) MappedSuperClass - common fields in an entity may be extracted into a
BaseEntity.java
2) Lifecycle callback can be utilized to implement audit info