introduced Table annotation to handle custom table naming and removing the SugarRecord dependency
remove dependency to extend SugarRecord. Now entities have a choice of extending SugarRecord or not. Both type of models will be supported.

Refactored the code to enable models without extending SugarRecord class. Following is a snapshot of changes:

1. Moved all naming to NamingHelper class.
2. All reflection related stuff moves to ReflectionUtil
3. Remove SugarRecord references from Generics. Class need not extend SugarRecord.
4. Improved the inflate logic for faster child record population.
5. Removed Database class. Wasn't adding much value.
6. Changed the example project to reflect the latest changes
table name is optional. That way simplifying the annotation.
Update id only when the model extends SugarRecord
Merge pull request #129 from satyan/annotation_based_entities

Annotation based entities
Mostly nonfunctional formatting changes
Refactoring to a new startup routine. It is not needed to extend SugarApp in the client application anymore, instead a call to SugarContext.init(Context) has to be made in the Client application. To close the database we have to call SugarContext.terminate(Context) in Application.onTerminate()
Modified the Example to be in line with the new startup system
Preserve original behavior to allow existing applications to specify
SugarApp in the manifest.
Add .gradle to ignore file to usher in support for Android Studio
Improved documentation and cleaned up NamingHelper

1. Added documentation to toSQLNameDefault, toSQLName(Field) and
toSQLName(Class)
2. Rewrote toSQLNameDefault as implementation was hard to understand
(refactored to make it more readable)
3. Added additional test cases to NamingHelper and created helper method
assertToSqlNameEquals(String,String) this helps make the test case
more readable.
rolled back changes, apparently this is not exacttly your typical CamelCase to UPPER_CASE_UNDER_SCORE algorithm

I thought ABC should have been converted to A_B_C (I was wrong). I have
reverted to previous algorithm.
Created ManifestHelper and moved AndroidManifest metadata read methods from SugarConfig to ManifestHelper

Reason: SugarConfig seemed to have 2 different responsibilities (holding
the field cache and retrieving data from the AndroidManifest), this
separates those concerns into 2 different classes.

Changes

1. Created ManifestHelper
   ManifestHelper provides methods for accessing the AndroidManifest's
   metadata (i.e. the database version, database name, etc.)
2. Added documentation to ManifestHelper
3. Refactored references that used SugarConfig to use ManifestHelper

Note:
There was an integer Flag with value 128, I'm not sure what that means
so I added a TODO.
Use self-documenting flag
add Timestamp convert on save()
add Log on delete()
Merge pull request #148 from bardec/master

add Log on delete()
initial add of .travis.yml
Merge pull request #149 from bardec/master

Initial add of .travis.yml. Fix a syntax error introduced in https://github.com/satyan/sugar/commit/d6d36abf6a46d0c227ed63f976c9fa5235041008
Add travis build status to README