Manchester United sign Brazil left-back Alex Telles on a four-year deal from Porto, with the option of a further year.