Unbreakable glass
Create a solid, specifically covered with a glassy looking texture (try the 'glass' set in the halflife.wad). Select it, press the Tie To Entity button, and select func_wall from the list. Set the Render Mode property to texture, and the FX Amount to some value between 0 and 255- the higher the number, the more opaque the glass is.
Inset your windows in a wall to make them look better:

Breakable glass
As above, but instead of selecting the func_wall entity from the list, go for the func_breakable instead. The only extra fields you'll need to worry about are the Material Type and Strength fields (these are pretty self explanatory)
Mirrored ("one way") glass
First of all, create a bog standard pane of glass (preferably unbreakable) using the methods above.
Over the top of this brush, create another solid exactly the same size & shape that overlaps the original (just copy and paste the glass on top of itself), it should also be covered with the same glass texture too- see the image below. On the side that you can see through, cover that face with the {invisible texture. Make this second brush into a func_wall entity, with render mode set to solid and FX amount to 255- this will make the other side totally opaque.
