Alternative proposal for grouping exported and local declarations

This is another version of grouping exported and locals declarations (originally proposed as #37).
Implementation notes: 
- exported and local declarations can co-exist within a same symbol (similar to #37)
- exported node has a link to a local symbol
- local symbol is used to check if exports agree on all merged declarations (within one local symbol)
- additional extra check is run on export symbol for functions (to detect duplicate implementation\mismatched ambients) 
Maybe phrase this comment as 

```TypeScript
// localSymbol is only defined when a declaration has both exported and a local symbol.
// It includes all declarations (that can be both exported and non-exported),
// simplifying internal access for other local symbols.
```