Opinion Dynamics: Models, Extensions and External Effects