Merge pull request #137 from amirsh/topic/type-providers

Merging commits from master branch into type-providers
Naming configuration and tests added.
Meta model improved, some bugs related to that fixed.
AutoInc feature added.
Lots of refactoring in Schema model.

* Schema model improved a lot
* It constains QualifedName and NamePart.
* Infrastructure for lazy loading added
* Some changes in Naming Configuration
* ConstantRule removed
Custom Naming with corresponding tests added.
First working type mapper, needs lots of clean up!
Lots of useless comments removed.
Type mapping for each column supported.

* Corresponding test added
* It seems everything is now correct
CodeGenerator added. Lots of refactoring in TypeProvider macro implementation.

* In order to share code between CodeGenerator and TypeMacro, lots of refactoring had been made.
* MacroHelper devided to separate slices of cake.
* CodeGenerator added, but indentation is not good.
* No tests added.
* There is no support for running code generator from console.
Indentation of generated code improved.
A bug fixed for code generation of foreign keys.
Problem with type mapping inside code generation resolved.

* Design for Custom Typing changed a lot. Now it seems more readable.
* The way of converting Type to Tree changed.
* Handling constructor added to Tree printer.
* One problem with indentation resolved.
Order of arguments (actual and expected) fixed in unit tests.