FormCheckoutBranch behavior fixed again when called from commit dialog

Conflicts:
	GitUI/CommandsDialogs/FormCheckoutBranch.cs
move CommitSummaryUserControl to UserControls folder
FileStatusList flickering fixed when mouse over list
Add new UserControl CommitPickerSmallControl
Make FormCreateBranchAtRevision use of CommitPickerSmallControl
GitUICommands: use FormCreateBranchAtRevision instead of FormCreateBranch
CommitPickerSmallControl: fix for case when commithash is empty
Remove old and unused FormCreateBranch.
fix autoscale mode
FormCreateBranchAtRevision: create combobox for orphan controls.
fix tab order and focus
Move FormCreateBranchAtRevision to CommandsDialogs and rename it to FormCreateBranch
Merge pull request #1674 from feinstaub/topic_1575_remove_old_branch_dlg

Fixes #1575 (Remove old "Create branch" dialog)
Allow pushing a non-branch source rev to a remote branch

This change allows for specifying non-branch source revs when
pushing to remote branches. This is a capability that was broken as
part of PR #1618.

This change allows things like "HEAD", "HEAD~1", a specific SHA1, or a
local tag to be specified as the source revision when pushing to a
remote branch.

If there is an ambiguity, a local branch with the source name
provided will be preferred, so the original intent of PR #1618 will be
retained.
Merge pull request #1676 from j-a-b/src-rev

Allow pushing a non-branch source rev to a remote branch
FormCreateBranch: change label text to better match with FormCreateTag
FormCreateTagAtRevision: introduce table layout
FormCreateTagAtRevision: make commit picker work. Set minimum size.
Create Branch/Tag dialog: add icon to create button
Remove old FormCreateTag dialog