+ Add Communication Transport MEF classes
+ Add initial SMTP transport class
+ Create system defined type for communication channels
+ Initial Email control
+ Update communication channel to use MEF rather than defined type
Add Component FieldType and FieldAttribute for selecting MEF component attribute values.
Exclude migration in prep for development branch merge
Merge remote-tracking branch 'refs/remotes/origin/develop' into feature-dt-communication

Conflicts:
	Rock/Rock.csproj
Recreate communcation migration after merging in develop branch
Adding StateDropDownList control, adding DefinedTypeGuid, updting DefinedTypeDetails to include Description, and support for sorting DefinedValues. Added StateDropDownList to giving blocks and refactored to add support for AccountsFieldAttributes.
Update Communication page to save/send communications
More communicaiton changes
Convert controls used by communication channels from UserControls to ServerControls
Backing out refactorings to OneTimeGift block.
Merge branch 'develop' into feature-jo-state-dropdownlist
Adding migration to include a State defined type and associated DefinedValues.
Merging
Updating correct FieldTypeGuid for AccountsFieldType in migration. Flushing cache after reorder in DefinedTypeDetails.
+ Update communication page to maintain state using ViewState rather than saving/reading to DB.
+ Refactor how mergefields are organized
Adding documentation comments and MSTest meta attributes to test classes to allow them to be run from within VisualStudio, without need for NUnit runner or R#.
Check Scanner - Now Scans and Uploads in one step,  new Detail page for BatchItems Grid.  RockRestClient bug fixes
Fixed rendering of attachment delete icon