Major code overhaul

1. Code restructure. Lots of code refactoring.
2. Added new parameter usePost for ajax call.
3. Plugin now checks whether dropdown has value on init, so you can use
the selected attribute in static dropdowns.