refactor data types into classes
added maven upload tasks to client package

also added missing lucene dependencies