Added catch for IdTable.put() exception

Since IdTable.put()'s exception (IllegalStateException) is part of PA3 and contextual analysis, it should be prefixed with ***.
Added debug output to idTable; fixed put() checks

- open/close scope along with put now display indented debug output
- put() now checks for "declarations at level >=3 may not hide declarations at levels > 1"