Merge pull request #4 from BrettLeeARV/wpf

WPF Desktop app with MVVM, Booking form
Insert Asset Method

A new method has been added to allow user to insert new asset.
.
Select Asset based on ID.

A new method has been added to the solution to retrieve the asset
details based on Asset ID.
Update on Asset
Update on Userbooking

An update has been made on userbooking as requested by Jing Tao.
Added LDAP login 3 times attempt

Will automatic re-try login for 3 times if LDAP login fail.
Remove the testing on login fail
Merge branch 'master' into wpf
Update GetUserOwnBooking call, cleanup unused view code-behind
Rename and refactor messaging used for changing pages
Created PageViewModel base class for view models with views
PVM has IsCurrentlyShown property, and NavigatingTo/From events to perform actions on view model when changing pages
Refactored ViewModels to use OnNavigatingTo to refresh data
Also made custom Message classes derive from MessageBase
Cleaned up unnecessary code
LoginPage: moved testing password value into code behind with compile flags
Refactored BookingsCreateViewModel to use OnNavigatingTo for refreshing data
Removed a XAML error