issue #43: fixed several bugs
issue #43: restructured shard module
issue #43: generating variant mapping dynamically
issue #43: modified sharded queries to take projectId and referenceId into account and change mapping based on variant_tablemap if necessary
issue #43: added code for direct shard access and database/table manipulation
issue #43: added tests for direct shard access and database/table manipulation
issue #43: create/remove shards only if they don't exist/exist
issue #43: modified database setup to create/remove shards when creating/removing the initial database
issue #43: added code for table manipulation
issue #43: added tests for table manipulation
issue #43: sharded variant table creation