Fimbrial surface display systems in bacteria: from vaccines to random libraries.