Add common assembly version/info files.

Using common assembly version and info files among all projects in the
solution makes versioning easier.
Major refactoring.

Move common interfaces/classes to Proverb.Core project to support
different deployment targets (e.g. desktop, web, phone).