Switzerland will face Argentina in the last 16 at Brazil 2014 after a Xherdan Shaqiri hat-trick secured a 3-0 win over Honduras and second place in Group E.