Category Duality

In order to fix the category problem which is:
Categories are not defined. categories list are too abstract and there
is not a real link between a transaction and category.
The Category-String is a nice workaround but it makes life little bit
complicated.

The Category-Duality solution sets the default category list to be the
foundation of the category property. The link between a transaction and
a category would be with the category guid.
In addition, a transaction would still have a category-string property.
If the CategoryID is not set, the name is used the would be shown with
distinct indication that the transaction is not category link and thus
will not be monitored.
In this way we can reserve legacy transactions information.
Category Duality - Visual Conversions

The transaction list now shows the category property,
first as categoryID, is the GUID is not present in the category default
list, or if the categoryID is -1, the property returns to
CategoryString, Which is now shown with special indication.

Little changes on conversion names and documentation details.
CategoryList now knows to look for GUID in addition to the Name
property.

MyFormating now has static global_MainWindow member that is initiated to
the MainWindow instance,
This helps for communication with the MainWindow outside of it. (Like in
the conversion object)
Category Duality - Change transaction category

Still preserving the category duality principle.
When choosing a category from the floating list,
the transaction linked with that category by it's GUID. but when it get
set by manual string (Even if it already linked), the transaction gets a
category-string property and the link is broken.
Category Duality - Link on edit and import

Try to link transaction with no categoryID when importing new DB.
And when changing the category manually, try to find a category with
that name in order to link it.
Category Duality - Category list of linked transactions

On when grouping transaction by categories, The list shows
all the "Default" categories and fuse the DB information into them by
links. Where transaction with no category link will not be counted.
Category list - SubCategory Test

Transaction grouped with categories are now divided into
subcategories.

The list items got smaller.