Associate one contact to multiple companies

The ability to link one contact to multiple companies is important for us.

Especially the concept of a start and end date for the relationship to track previous companies a contact has worked at and when.

Or.. is ther already a ‘history’ button that will show the movement of a Contact from one Company to another?

And if there is a concept of ‘history’.. can it be imported?