Enhancement persistence improvements

Vitaly,

I have limited the changes as discussed in pull request #23:
<ul>
<li>Only update Hibernate plugins
<li>Use table indexes (versus column indexes)
<li>Use <b>GenerationType.IDENTITY</b> for IDs
<li>Included IDE-generated <b>equals()</b> and <b>hashcode()</b> methods
</ul>
The equals() and hashcode() methods were not changed from the IDE-generated code.  I figured you could decide what to do with them.  Note that I have still kept the separate commits so that you can see the work.  If you still want me to squash the commits, I will do so.

I have confirmed that the use of IDENTITY uses the proper type in PostgreSQL (i.e., BIGSERIAL) and creates the appropriate named sequences for them.  I have not tested this on MySQL or H2 but the documentation indicates that this is properly supported.  I have also confirmed that each commit will compile and run on its own should you choose to reject certain commits.

Lastly, I have rebased my branch off your last commit on vitalidze:dev to make the review and merge easier for you.

- jss