Backend thread

New features: 
Use the backend server to handle starting vms requests. 
Create a local database table to store the states of vms. 
Auto synchronization of db every some time. 
Modify the UI and backend handler to let users choose the instance type.