Since the dawning of Terraria, to get an NPC to move into whatever building you made, you needed a table, a chair, and a lighting source. This is still true today but it comes with some caveats. The building size hasn't changed but with different furniture and the new lighting engine from patch 1.1, you have more options.
Let's start off with the basics. You need a room, and that room needs some background walls. The size of the room needs to be no less than seven blocks wide and five blocks tall. Now this is where it gets a little tricky. You can go four blocks tall, but then it needs to be eight blocks wide. Regardless of what size you make it, you will need a door or platforms to get into the room. You will also need one comfort item, either a bed, bench, throne, chair, or toilet. You will also need at least one "flat-top" piece of furniture, either a workbench, table, dresser, bookcase, or tub. Also, if you have platforms as your floor, you need your "flat-top" piece of furniture on at least one solid block as seen below:
You will also need some lighting. With the 1.1 patch changing the lighting engine, this has led to some uninhabitable rooms that, before patch 1.1, were inhabitable. Here are some examples:
This picture below shows an unsuitable room:
But if you add one more torch it becomes suitable to live in:
You will also notice that the bottom room in the previous two pictures only has one torch, but it is suitable for the guide to live in. My only conclusion is that because the workbench has a lower profile, more light makes it across the room. With a table in the same room, the opposite corner from the torch is too dark and the room becomes uninhabitable.
The types of blocks or bricks you use to make a home does not matter. Since patch 1.0.6, you can use any block, brick, and wall to make homes for the NPC's. The only caveat being that you cannot make a home in a naturally formed cave. However, if you knock the background walls out and replace them with your own background walls, it will be suitable. Also, if you want to make your NPC housing bomb-proof, you better go raid your dungeon. Dungeon bricks are bomb-proof and come in blue, green, and pink, but dungeon brick background walls are not bomb-proof.
In earlier patches if you wanted a window in an NPC's room, you basically had to leave a hole in your wall no larger than two blocks by four blocks. Now with 1.1 adding glass background walls, you can make some proper windows. Windows work just like regular background walls but they obviously let light in, making your rooms extra bright during the day.
Here is a shot of some windows:
Here I am, building some NPC housing, time-lapse style:
And that is pretty much it! There are a total of 10 or 11 NPC's that can move in with you, Santa Claus being the exception now that he has gone away until the next Holiday Season. Some have specific requirements, others you will have to seek out and rescue. Good luck and happy building!