implement index functionality

Summary:
Implement create/drop and list indexes for a table. Still not entirely happy
with the DSL that we are ending up with but it is evolving never the less