Use LinkedHashMap instead of HashMap for columns

The order of the keys are directly related to the order of the columns of the
table. Therefore, LinkedHashMap, which has the capability of retreiving the
keys in the order of insertion, is used.
Use static final variable for the table name in child classes

Variable with the table name is used in order to ensure maintainability.
Hard-coding in multiple places leads to unexpected bugs.
Change ambiguous method naming

Because there is a method called createTable in the parent class, it is
confusing whether the createPreference method creates a new table, or just add
another user to the table. What it actually does is the latter, thus, the
method is renamed.
Import statement for using LinkedHashMap instead of HashMap

This line of code was supposed to be added to the previous commit when
changing from HashMap to LinkedHashMap.
Implement select method for querying database
Fix JavaDoc formatting