TEIID-2584: TEIID-2584: Materialization Management

1) If an view is configured for external materilization, if it needs to be
managed by the Teiid scheduler for loading the below properties need to be
defined
2) The view is expected to be populated with following properties
teiid_rel:ALLOW_MATVIEW_MANAGEMENT = allow the auto management
teiid_rel:MATVIEW_AFTER_LOAD_SCRIPT = script for loading the mat view table
teiid_rel:MATVIEW_BEFORE_LOAD_SCRIPT = script to run before load; like truncate tables
teiid_rel:MATVIEW_LOAD_SCRIPT = script to run after load; like swap/rename tables
teiid_rel:MATVIEW_STATUS_TABLE = name of the status table.
    MATERIALIZED_TABLE = materialized table
3) The above properties expects the status table to be in the format
    CREATE TABLE status
    (
       vdbname varchar(50) not null,
       vdbversion integer not null,
       schemaname varchar(50) not null,
       name varchar(256) not null,
       targetschemaname varchar(50),
       targetname varchar(256) not null,
       valid boolean not null,
       loadstate varchar(25) not null,
       cardinality integer,
       updated timestamp not null,
       primary key (vdbname, vdbversion, schemaname, name)
    );
4) A SYSADMIN.loadMatView and SYSADMIN.matviewStatus procedures are provided
that will load the materialization results and manage the status of the load
in the status table defined above.
5) During the VDB deployment a timer sevice is started to run the above
load procedure at defined CacheHint intervels defined by the orginal View.
Merge pull request #96 from rareddy/TEIID-2584

TEIID-2584: TEIID-2584: Materialization Management