The Colombian island of San Andrés is a haven of beach bar shacks, reggae beats and white sand lapped by seven colours of the Caribbean Sea.