Moved the Create Sitemaps menu option and the code that generates it from msm-sitemap-builder-cron.php to
msm-sitemap.php in order to clean it up and maintain better functional
seperation between the two files. Done in response to #50.
Fixing a number of translations that used _e() when they should be using __()
Moving the logic for performing different user actions on the Create
Sitemaps page into its own function. This makes the sitemap_options()
function much cleaner and smaller.

A side-affect of the move is that the button text on the Create Sitemaps UI is now
translation friendly (it wasn't before).
Cleaned up test_sitemap_creation.php and fixed an off-by-one error.

While creating dummy posts, one post would be created with the day in the future. I subtracted one to ensure this does not occur.
Cleaned up a couple convulated ways of grabbing the last element of an array and replaced them with a call to end().
Added a means for counting the number of indexed URLs per sitemap and as a total.

In response to #50. Added an 'msm_sitemap_indexed_url_count' option that tracks the number of indexed URLs in every sitemap. When a sitemap is updated, the number of URLs it contains is updated. This statistic is printed out on the Create Sitemaps page of the plugin.
Removed an infinite loop in the find_next_day_to_process() that caused sitemap generation to always continue on the same day and other cleaning.

Cleaned up another strange method of grabbing the last element from an array.

Fixed an issue in MSM Sitemap where false would be inserted at the start of the msm_sitemap_indexed_url_count option.
Added UT coverage for sitemap statistics and fixed the existing UT.

Added a base class MSM_SiteMap_Test that implements some functionality like creating dummy posts and faking cron that all test cases require. The test classes could not inherit this class as it caused strange behaviour with WordPress Tests, so test classes just create a private instance of the class.

Added the test_sitemap_stats.php file to test statistics for post creation & deletion.

Fixed the test_sitemap_creation.php tests. Previously they could potentially provide a badly formatted date string for the post_date of a new post (eg '2012-01-8' -- note the lack of trailing zeros). To fix this I used the DateTime() class to format the date inside MSM_SiteMap_Test.
Sitemap stats now properly deleted when a sitemap is deleted.

Previously sitemaps stats did not get deleted when a sitemap got deleted, skewing stats.
Replacing spaces in indentation with tabs. Good catch @mjangda
Renaming Create Sitemaps page title to be more consistant and removing the
Sitemaps CPT admin page.

Renamed the "Create Sitemaps" page to "Sitemaps" and changed the header on
the page to match the menu name.

Removed the Sitemap custom post type admin page because it had no useful
purpose. See #53 for making this page useful.

Also renamed the sitemap_options() function to
render_sitemap_options_page() so that it was more self descriptive.

In response to comments from @mjangda here:
https://github.com/Mobius5150/msm-sitemap/commit/de3de21d396615001cb8875b2e01735736391207
Adding output escaping to
render_sitemap_options_page() and fixing a couple improperly styled lines.

Adding output escaping to render_sitemap_options_page() as it was missing
output escaping for stats and action buttons on the Sitemaps admin page.

Fixed two badly styled lines in msm-sitemap-builder-cron.php so that they
adhere to the WordPress style guide.
Updating behaviour for halting sitemap generation.

Update the 'Halt Sitemap Generation' button so that it is only enabled when sitemap generation is actually in progress.

Added action handling text to the 'halt-generation' action so that the return message accurately reflects whether sitemap generation was halted or was already halted.

Added a status text to reflect when sitemap generation is being halted. This is because previously when a user clicked the halt sitemap generation button sitemap generation would be eventually stopped during the cron job, but would not be halted immediately. Adding the status text shows the user that the next time the cron job is processed sitemap generation will be halted -- giving them feedback after pushing the button.

In response to comments received on 864b296.
Cleaning up output formatting and page generation.

Added a space butween the 'Current Position' or 'Restart Position' text
and the following data.

Stats header is now an h3.

Buttons are only shown when they should be used. Ie: Generate and reset buttons are
only shown when sitemap generation is not running and the halt button is
only shown when the sitemap generation is running.

Buttons now use core styles rather than default buttons.
Fixing a improper escaping in msm-sitemap.php.

In respone to @mjangda's comment: output escaping should be done as late
as possible. Moving escaping for $message to the latest possible.
Fixing a status message bug on Sitemaps page.

Fixed a status message bug on the sitemaps page where if the user halted
generation the status text would continue to say halting after it was
restarted.

Also tweaked the behaviour of reset_sitemap_data() as this action is only
doable when sitemap processing is stopped - so it should not try and stop
sitemap processing.
Rewording stats text.

Reworded the sitemap and indexed url counts stats in the admin page in
response to feedback in #54.
Removing Metro_Sitemap dependance on MSM_Sitemap_Builder_Cron.

Removed the direct dependance from the Metro_Sitemap class on the
MSM_Sitemap_Builder_Cron class. This is because MSM Sitemaps are typically
built using WP CLI commands because the cron aproach does not scale well
when a large number of sitemaps need to be generated.

Added two filters to render_sitemap_options_page(): `msm_sitemap_actions`
and `msm_sitemap_create_status`. The first filter allows plugins to
register their actions to be shown on the admin page. The second allows
plugins to customize the status text shown to the end user.

When an action needs to be performed, the action
`msm_sitemap_action-$action` is called, where $action is a slug
provided by the plugin that created the action. If a plugin would like to
show a message to the user about the status or completion of that action
it can call Metro_Sitemap::show_action_message() with the action message
and the severity level of the message.

See the feedback received on #54.
Merge pull request #54 from Mobius5150/master

Additional statistics for the Admin page, bug fixes, UI enhancements, fixing UTs