some guideline updates
added warning to PoolAllocator
implemented line and column number lookup

The SourceManager now produces accurate line and column numbers when asked for
the PresumedLocation of a SourceLocation. To do this, each SourceManagerEntry
has a line offset cache that keeps track of the starting positions of each line.

Things should be fairly fast. The Clang sourcebase has a very nice optimization
for SSE2 in the code that builds the line cache. Maybe that's worth looking at?