swept thru grids that used dotted notation for DataField names (and/or SortField) and redid the linq to select columns explicitly.  This fixes performance issues resulting from the grid doing a seperate SQL database call per row
Update StateDropDownList to use the organization's address for the default state
MarketingCampaignAdList - Updates so it can be used in a Content Approval type page
+ Updated so it can be used with or without a MarketingCampaignContext
+ Added a filter
+ Added option to Hide/Show CampaignTitle
Merge branch 'develop'

Conflicts:
	RockWeb/Blocks/Administration/MarketingCampaignAdList.ascx
	RockWeb/Blocks/Administration/MarketingCampaignAdList.ascx.cs
Merge branch 'feature-mp-grid-select-fix'
- Updated Grid and added CommunicatePersonIdField so that Grids that have IsPersonList enabled can figure out which field of the dataset the personId is (it defaults to [Id])
- Update GroupMemberList block to set Grid's CommunicatePersonIdField to PersonId since the Id of the dataset is just the GroupMember.Id, and the Communication needs to know that the PersonId field is PersonId in this case.  This fixes a bug where clicking Communicate on the GroupMemberGrid would not populate the list of recipients correctly.
Rename File.ashx to GetFile.ashx and Image.ashx to GetImage.ashx to avoic namespace conflicts with System.IO.File and System.Drawing.Image
changed new field CommunicatePersonIdField to just PersonIdField since the grid can support special Person operations other than Communications (Bulk Export, etc).  Also, removed IsPersonList.  Now, setting PersonIdField to something indicates this the grid supports Person operations
Merge branch 'origin/develop'
Added "AttributeLevel" DefinedType and corresponding DefinedValues and a Person Attribute.
Sweep for "checkin", "check-in", and "check in" to make sure of proper use.
Make IPAddress on Device unique
Update Code-Generation
Added back .btn-dimmed.
Change checkin to check-in
Prepare merge to develop
Merge branch 'origin/develop'